From: Gleb Natapov <gleb@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Sheng Yang <sheng@linux.intel.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
kvm@vger.kernel.org
Subject: Re: Make QEmu HPET disabled by default for KVM?
Date: Thu, 11 Mar 2010 12:23:03 +0200 [thread overview]
Message-ID: <20100311102303.GD16909@redhat.com> (raw)
In-Reply-To: <4B98ADCE.5060206@redhat.com>
On Thu, Mar 11, 2010 at 10:46:06AM +0200, Avi Kivity wrote:
> On 03/11/2010 10:42 AM, Gleb Natapov wrote:
> >On Thu, Mar 11, 2010 at 04:38:48PM +0800, Sheng Yang wrote:
> >>On Thursday 11 March 2010 16:31:57 Gleb Natapov wrote:
> >>>On Thu, Mar 11, 2010 at 10:28:12AM +0200, Avi Kivity wrote:
> >>>>On 03/11/2010 10:23 AM, Sheng Yang wrote:
> >>>>>>>I have kept --no-hpet in my setup for
> >>>>>>>months...
> >>>>>>Any details about the problems? HPET is important to some guests.
> >>>>>Seems like HPET reaction is too slow to satisfy some guests(for it would
> >>>>>replace PIT).
> >>>>>
> >>>>>Here is the thread last time.
> >>>>>
> >>>>>http://thread.gmane.org/gmane.comp.emulators.kvm.devel/44899
> >>>>Thanks. We can address this in three ways: first, adjust the guest
> >>>>not to do timing related tests when virtualized (since no matter
> >>>>what we do, the tests may fail). Second, I think we should
> >>>>implement userspace ack notifiers (similar to tpr access notifiers
> >>>>already present). Third, we can implement a kernel hpet, which,
> >>>>after we solve the zillion bug it introduces, will also give a nice
> >>>>performance improvement for hpet intensive workloads.
> >>>Second will not solve the problem. Presence of ack notifiers will not
> >>>make HPET interrupt arrive faster.
> >>The slow may also due to lost tick. And with the lost tick, hpet is still
> >>unusable...
> >>
> >If the problem it due to lost ticks reinjection may solve it, but only partially.
> >What if IO thread haven't run even once during the time vcpu did clock
> >source check? IIRC sometimes we trigger this even with in kernel PIT.
>
> That is true. Reinjection can correct problems in the long term,
> but may fail in the short term. 10 ticks is easily short term in a
> heavily loaded system.
>
> How does it happen with kernel PIT? I could understand it if we had
> a work item doing the injection, but everything happens either from
> hrtimer context or vcpu context.
>
Do we kick vcpu out of guest mode when hrtimer triggers? I don't see us doing it in
__kvm_timer_fn().
--
Gleb.
next prev parent reply other threads:[~2010-03-11 10:23 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-11 7:52 Make QEmu HPET disabled by default for KVM? Sheng Yang
2010-03-11 7:58 ` Avi Kivity
2010-03-11 8:23 ` Sheng Yang
2010-03-11 8:28 ` Avi Kivity
2010-03-11 8:31 ` Gleb Natapov
2010-03-11 8:36 ` Avi Kivity
2010-03-11 8:38 ` Sheng Yang
2010-03-11 8:42 ` Gleb Natapov
2010-03-11 8:46 ` Avi Kivity
2010-03-11 10:23 ` Gleb Natapov [this message]
2010-03-11 11:56 ` Avi Kivity
2010-03-11 11:56 ` Avi Kivity
2010-03-11 19:08 ` Marcelo Tosatti
2010-03-14 7:05 ` Avi Kivity
2010-03-14 7:10 ` Gleb Natapov
2010-03-14 10:23 ` Dor Laor
2010-03-14 10:27 ` Avi Kivity
2010-03-14 12:51 ` Dor Laor
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=20100311102303.GD16909@redhat.com \
--to=gleb@redhat.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=sheng@linux.intel.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