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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.