From: Anthony Liguori <aliguori@us.ibm.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Glauber Costa <glommer@gmail.com>,
Glauber Costa <gcosta@redhat.com>,
kvm-devel <kvm@vger.kernel.org>,
kraxel@redhat.com, chrisw@redhat.com
Subject: Re: kvm guest loops_per_jiffy miscalibration under host load
Date: Mon, 07 Jul 2008 14:21:45 -0500 [thread overview]
Message-ID: <48726CC9.1070008@us.ibm.com> (raw)
In-Reply-To: <20080707184843.GA14634@dmt.cnet>
Marcelo Tosatti wrote:
> On Mon, Jul 07, 2008 at 03:27:16PM -0300, Glauber Costa wrote:
>
>>> I agree. A paravirt solution solves the problem.
>>>
>> Please, look at the patch I've attached.
>>
>> It does __delay with host help. This may have the nice effect of not
>> busy waiting for long-enough delays, and may well.
>>
>> It is _completely_ PoC, just to show the idea. It's ugly, broken,
>> obviously have to go through pv-ops, etc.
>>
>> Also, I intend to add a lpj field in the kvm clock memory area. We
>> could do just this later, do both, etc.
>>
>> If we agree this is a viable solution, I'll start working on a patch
>>
>
> This stops interrupts from being processed during the delay. And also
> there are cases like this recently introduced break:
>
> /* Allow RT tasks to run */
> preempt_enable();
> rep_nop();
> preempt_disable();
>
> I think it would be better to just pass the lpj value via paravirt and
> let the guest busy-loop as usual.
>
I agree. VMI and Xen already pass a cpu_khz paravirt value. Something
similar would probably do the trick.
It may be worthwhile having udelay() or spinlocks call into KVM if
they've been spinning long enough but I think that's a separate discussion.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2008-07-07 19:22 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-02 16:40 kvm guest loops_per_jiffy miscalibration under host load Marcelo Tosatti
2008-07-03 13:17 ` Glauber Costa
2008-07-04 22:51 ` Marcelo Tosatti
2008-07-07 1:56 ` Anthony Liguori
2008-07-07 18:27 ` Glauber Costa
2008-07-07 18:48 ` Marcelo Tosatti
2008-07-07 19:21 ` Anthony Liguori [this message]
2008-07-07 19:32 ` Glauber Costa
2008-07-07 21:35 ` Glauber Costa
2008-07-11 21:18 ` David S. Ahern
2008-07-12 14:10 ` Marcelo Tosatti
2008-07-12 19:28 ` David S. Ahern
2008-07-07 18:17 ` Daniel P. Berrange
-- strict thread matches above, loose matches on Subject: below --
2008-07-22 3:25 Marcelo Tosatti
2008-07-22 8:22 ` Jan Kiszka
2008-07-22 12:49 ` Marcelo Tosatti
2008-07-22 15:54 ` Jan Kiszka
2008-07-22 22:00 ` Dor Laor
2008-07-22 19:56 ` David S. Ahern
2008-07-23 2:57 ` David S. Ahern
2008-07-29 14:58 ` Marcelo Tosatti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48726CC9.1070008@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=chrisw@redhat.com \
--cc=gcosta@redhat.com \
--cc=glommer@gmail.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox