* Make QEmu HPET disabled by default for KVM?
@ 2010-03-11 7:52 Sheng Yang
2010-03-11 7:58 ` Avi Kivity
0 siblings, 1 reply; 18+ messages in thread
From: Sheng Yang @ 2010-03-11 7:52 UTC (permalink / raw)
To: Avi Kivity; +Cc: Marcelo Tosatti, kvm
I think we have already suffered enough timer issues due to this(e.g. I can't
boot up well on 2.6.18 kernel)... I have kept --no-hpet in my setup for
months...
--
regards
Yang, Sheng
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
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 19:08 ` Marcelo Tosatti
0 siblings, 2 replies; 18+ messages in thread
From: Avi Kivity @ 2010-03-11 7:58 UTC (permalink / raw)
To: Sheng Yang; +Cc: Marcelo Tosatti, kvm
On 03/11/2010 09:52 AM, Sheng Yang wrote:
> I think we have already suffered enough timer issues due to this(e.g. I can't
> boot up well on 2.6.18 kernel)...
2.6.18 as guest or as host?
> I have kept --no-hpet in my setup for
> months...
>
Any details about the problems? HPET is important to some guests.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 7:58 ` Avi Kivity
@ 2010-03-11 8:23 ` Sheng Yang
2010-03-11 8:28 ` Avi Kivity
2010-03-11 19:08 ` Marcelo Tosatti
1 sibling, 1 reply; 18+ messages in thread
From: Sheng Yang @ 2010-03-11 8:23 UTC (permalink / raw)
To: Avi Kivity; +Cc: Marcelo Tosatti, kvm
On Thursday 11 March 2010 15:58:12 Avi Kivity wrote:
> On 03/11/2010 09:52 AM, Sheng Yang wrote:
> > I think we have already suffered enough timer issues due to this(e.g. I
> > can't boot up well on 2.6.18 kernel)...
>
> 2.6.18 as guest or as host?
Guest
> > 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
--
regards
Yang, Sheng
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 8:23 ` Sheng Yang
@ 2010-03-11 8:28 ` Avi Kivity
2010-03-11 8:31 ` Gleb Natapov
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2010-03-11 8:28 UTC (permalink / raw)
To: Sheng Yang; +Cc: Marcelo Tosatti, kvm
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.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
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
0 siblings, 2 replies; 18+ messages in thread
From: Gleb Natapov @ 2010-03-11 8:31 UTC (permalink / raw)
To: Avi Kivity; +Cc: Sheng Yang, Marcelo Tosatti, kvm
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.
--
Gleb.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 8:31 ` Gleb Natapov
@ 2010-03-11 8:36 ` Avi Kivity
2010-03-11 8:38 ` Sheng Yang
1 sibling, 0 replies; 18+ messages in thread
From: Avi Kivity @ 2010-03-11 8:36 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Sheng Yang, Marcelo Tosatti, kvm
On 03/11/2010 10:31 AM, 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.
>
But it will allow us to compensate for interrupts being coalesced, which
may be the root of the problem.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
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
1 sibling, 1 reply; 18+ messages in thread
From: Sheng Yang @ 2010-03-11 8:38 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Avi Kivity, Marcelo Tosatti, kvm
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...
--
regards
Yang, Sheng
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 8:38 ` Sheng Yang
@ 2010-03-11 8:42 ` Gleb Natapov
2010-03-11 8:46 ` Avi Kivity
0 siblings, 1 reply; 18+ messages in thread
From: Gleb Natapov @ 2010-03-11 8:42 UTC (permalink / raw)
To: Sheng Yang; +Cc: Avi Kivity, Marcelo Tosatti, kvm
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.
--
Gleb.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 8:42 ` Gleb Natapov
@ 2010-03-11 8:46 ` Avi Kivity
2010-03-11 10:23 ` Gleb Natapov
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2010-03-11 8:46 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Sheng Yang, Marcelo Tosatti, kvm
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.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 8:46 ` Avi Kivity
@ 2010-03-11 10:23 ` Gleb Natapov
2010-03-11 11:56 ` Avi Kivity
0 siblings, 1 reply; 18+ messages in thread
From: Gleb Natapov @ 2010-03-11 10:23 UTC (permalink / raw)
To: Avi Kivity; +Cc: Sheng Yang, Marcelo Tosatti, kvm
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.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 10:23 ` Gleb Natapov
@ 2010-03-11 11:56 ` Avi Kivity
2010-03-11 11:56 ` Avi Kivity
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2010-03-11 11:56 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Sheng Yang, Marcelo Tosatti, kvm
On 03/11/2010 12:23 PM, Gleb Natapov wrote:
>>>
>>> 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().
>
>
We're always running on the same cpu as vcpu 0, so no need.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 11:56 ` Avi Kivity
@ 2010-03-11 11:56 ` Avi Kivity
0 siblings, 0 replies; 18+ messages in thread
From: Avi Kivity @ 2010-03-11 11:56 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Sheng Yang, Marcelo Tosatti, kvm
On 03/11/2010 01:56 PM, Avi Kivity wrote:
> On 03/11/2010 12:23 PM, Gleb Natapov wrote:
>>>>
>>>> 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().
>>
>
> We're always running on the same cpu as vcpu 0, so no need.
>
Would be better to do it, though, in case we have migration races.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 7:58 ` Avi Kivity
2010-03-11 8:23 ` Sheng Yang
@ 2010-03-11 19:08 ` Marcelo Tosatti
2010-03-14 7:05 ` Avi Kivity
1 sibling, 1 reply; 18+ messages in thread
From: Marcelo Tosatti @ 2010-03-11 19:08 UTC (permalink / raw)
To: Avi Kivity; +Cc: Sheng Yang, kvm, Gleb Natapov
On Thu, Mar 11, 2010 at 09:58:12AM +0200, Avi Kivity wrote:
> On 03/11/2010 09:52 AM, Sheng Yang wrote:
> >I think we have already suffered enough timer issues due to this(e.g. I can't
> >boot up well on 2.6.18 kernel)...
>
> 2.6.18 as guest or as host?
>
> >I have kept --no-hpet in my setup for
> >months...
>
> Any details about the problems? HPET is important to some guests.
As Gleb mentioned in the other thread, reinjection will introduce
another set of problems.
Ideally all this timer related problems should be fixed by correlating
timer interrupts and time source reads.
Since one already has to use special timer parameters (-rtc-td-hack,
-no-kvm-pit-reinjection), using -no-hpet for problematic Linux
guests seems fine?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-11 19:08 ` Marcelo Tosatti
@ 2010-03-14 7:05 ` Avi Kivity
2010-03-14 7:10 ` Gleb Natapov
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2010-03-14 7:05 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: Sheng Yang, kvm, Gleb Natapov
On 03/11/2010 09:08 PM, Marcelo Tosatti wrote:
>
>>
>>> I have kept --no-hpet in my setup for
>>> months...
>>>
>> Any details about the problems? HPET is important to some guests.
>>
> As Gleb mentioned in the other thread, reinjection will introduce
> another set of problems.
>
> Ideally all this timer related problems should be fixed by correlating
> timer interrupts and time source reads.
>
This still needs reinjection (or slewing of the timer frequency).
Correlation doesn't fix drift.
> Since one already has to use special timer parameters (-rtc-td-hack,
> -no-kvm-pit-reinjection), using -no-hpet for problematic Linux
> guests seems fine?
>
Depends on how common the problematic ones are. If they're common,
better to have a generic fix.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-14 7:05 ` Avi Kivity
@ 2010-03-14 7:10 ` Gleb Natapov
2010-03-14 10:23 ` Dor Laor
0 siblings, 1 reply; 18+ messages in thread
From: Gleb Natapov @ 2010-03-14 7:10 UTC (permalink / raw)
To: Avi Kivity; +Cc: Marcelo Tosatti, Sheng Yang, kvm
On Sun, Mar 14, 2010 at 09:05:50AM +0200, Avi Kivity wrote:
> On 03/11/2010 09:08 PM, Marcelo Tosatti wrote:
> >
> >>
> >>>I have kept --no-hpet in my setup for
> >>>months...
> >>Any details about the problems? HPET is important to some guests.
> >As Gleb mentioned in the other thread, reinjection will introduce
> >another set of problems.
> >
> >Ideally all this timer related problems should be fixed by correlating
> >timer interrupts and time source reads.
>
> This still needs reinjection (or slewing of the timer frequency).
> Correlation doesn't fix drift.
>
But only when all time sources are synchronised and correlated with
interrupts we can slew time frequency without guest noticing (and only
if guest disables NTP)
> >Since one already has to use special timer parameters (-rtc-td-hack,
> >-no-kvm-pit-reinjection), using -no-hpet for problematic Linux
> >guests seems fine?
>
> Depends on how common the problematic ones are. If they're common,
> better to have a generic fix.
>
> --
> error compiling committee.c: too many arguments to function
--
Gleb.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-14 7:10 ` Gleb Natapov
@ 2010-03-14 10:23 ` Dor Laor
2010-03-14 10:27 ` Avi Kivity
0 siblings, 1 reply; 18+ messages in thread
From: Dor Laor @ 2010-03-14 10:23 UTC (permalink / raw)
To: Gleb Natapov; +Cc: Avi Kivity, Marcelo Tosatti, Sheng Yang, kvm
On 03/14/2010 09:10 AM, Gleb Natapov wrote:
> On Sun, Mar 14, 2010 at 09:05:50AM +0200, Avi Kivity wrote:
>> On 03/11/2010 09:08 PM, Marcelo Tosatti wrote:
>>>
>>>>
>>>>> I have kept --no-hpet in my setup for
>>>>> months...
>>>> Any details about the problems? HPET is important to some guests.
>>> As Gleb mentioned in the other thread, reinjection will introduce
>>> another set of problems.
>>>
>>> Ideally all this timer related problems should be fixed by correlating
>>> timer interrupts and time source reads.
>>
>> This still needs reinjection (or slewing of the timer frequency).
>> Correlation doesn't fix drift.
>>
> But only when all time sources are synchronised and correlated with
> interrupts we can slew time frequency without guest noticing (and only
> if guest disables NTP)
In the mean time we should definitely disable hpet by default.
Besides this we need to fully virtualize the tsc, fix win7 64bit rtc
time drift and some pvclock potential issues. Before we add new timer,
better fix existing ones.
What about creating a pv time keeping device that will be aware of lost
ticks and host wall clock time? It's similar to hyper-v enlightenment
virt timers.
>
>>> Since one already has to use special timer parameters (-rtc-td-hack,
>>> -no-kvm-pit-reinjection), using -no-hpet for problematic Linux
>>> guests seems fine?
>>
>> Depends on how common the problematic ones are. If they're common,
>> better to have a generic fix.
>>
>> --
>> error compiling committee.c: too many arguments to function
>
> --
> Gleb.
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-14 10:23 ` Dor Laor
@ 2010-03-14 10:27 ` Avi Kivity
2010-03-14 12:51 ` Dor Laor
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2010-03-14 10:27 UTC (permalink / raw)
To: dlaor; +Cc: Gleb Natapov, Marcelo Tosatti, Sheng Yang, kvm
On 03/14/2010 12:23 PM, Dor Laor wrote:
> On 03/14/2010 09:10 AM, Gleb Natapov wrote:
>> On Sun, Mar 14, 2010 at 09:05:50AM +0200, Avi Kivity wrote:
>>> On 03/11/2010 09:08 PM, Marcelo Tosatti wrote:
>>>>
>>>>>
>>>>>> I have kept --no-hpet in my setup for
>>>>>> months...
>>>>> Any details about the problems? HPET is important to some guests.
>>>> As Gleb mentioned in the other thread, reinjection will introduce
>>>> another set of problems.
>>>>
>>>> Ideally all this timer related problems should be fixed by correlating
>>>> timer interrupts and time source reads.
>>>
>>> This still needs reinjection (or slewing of the timer frequency).
>>> Correlation doesn't fix drift.
>>>
>> But only when all time sources are synchronised and correlated with
>> interrupts we can slew time frequency without guest noticing (and only
>> if guest disables NTP)
>
> In the mean time we should definitely disable hpet by default.
Definitely not. Windows needs it. Some pre-kvmclock Linux may also
work with it.
Without hpet, there is no fast high resolution timer in the system.
> Besides this we need to fully virtualize the tsc, fix win7 64bit rtc
> time drift and some pvclock potential issues. Before we add new timer,
> better fix existing ones.
>
> What about creating a pv time keeping device that will be aware of
> lost ticks and host wall clock time? It's similar to hyper-v
> enlightenment virt timers.
That's kvmclock.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Make QEmu HPET disabled by default for KVM?
2010-03-14 10:27 ` Avi Kivity
@ 2010-03-14 12:51 ` Dor Laor
0 siblings, 0 replies; 18+ messages in thread
From: Dor Laor @ 2010-03-14 12:51 UTC (permalink / raw)
To: Avi Kivity; +Cc: Gleb Natapov, Marcelo Tosatti, Sheng Yang, kvm
On 03/14/2010 12:27 PM, Avi Kivity wrote:
> On 03/14/2010 12:23 PM, Dor Laor wrote:
>> On 03/14/2010 09:10 AM, Gleb Natapov wrote:
>>> On Sun, Mar 14, 2010 at 09:05:50AM +0200, Avi Kivity wrote:
>>>> On 03/11/2010 09:08 PM, Marcelo Tosatti wrote:
>>>>>
>>>>>>
>>>>>>> I have kept --no-hpet in my setup for
>>>>>>> months...
>>>>>> Any details about the problems? HPET is important to some guests.
>>>>> As Gleb mentioned in the other thread, reinjection will introduce
>>>>> another set of problems.
>>>>>
>>>>> Ideally all this timer related problems should be fixed by correlating
>>>>> timer interrupts and time source reads.
>>>>
>>>> This still needs reinjection (or slewing of the timer frequency).
>>>> Correlation doesn't fix drift.
>>>>
>>> But only when all time sources are synchronised and correlated with
>>> interrupts we can slew time frequency without guest noticing (and only
>>> if guest disables NTP)
>>
>> In the mean time we should definitely disable hpet by default.
>
> Definitely not. Windows needs it. Some pre-kvmclock Linux may also work
> with it.
>
> Without hpet, there is no fast high resolution timer in the system.
It's all depends on how hard would it be to re-inject to windows guest.
We still need to fix the win2k3 64 bit and win2k8 64 bit (and not win7
as I told initially) since the irq is broadcasted to all the vcpus and
we do not track who acknowledged the irq.
>
>> Besides this we need to fully virtualize the tsc, fix win7 64bit rtc
>> time drift and some pvclock potential issues. Before we add new timer,
>> better fix existing ones.
>>
>> What about creating a pv time keeping device that will be aware of
>> lost ticks and host wall clock time? It's similar to hyper-v
>> enlightenment virt timers.
>
> That's kvmclock.
>
I meant a device that can be used to generate timeouts. We do use today
pit/rtc along with kvmclock time source but it's not perfect and
probably the same for hpet. This is why I tough that a pv device will be
beneficial.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2010-03-14 12:50 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox