Re: [Qemu-devel] Re: [RFC: 0/2] patch for QEMU HPET periodic timer emulation to alleviate time drift

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-02-03 21:07, Anthony Liguori wrote:
> On 02/03/2011 09:28 AM, Jan Kiszka wrote:
>> On 2011-02-03 14:43, Ulrich Obergfell wrote:
>>   
>>> Hi,
>>>
>>> I am observing severe backward time drift in a MS Windows Vista(tm)
>>> guest running on a Fedora 14 KVM host. I can reproduce the problem
>>> with the following steps:
>>>
>>> 1. Use 'vncviewer' to connect to the guest's desktop.
>>> 2. Click on the menu title bar of a window on the guest's desktop.
>>> 3. Move that window around on the guest's desktop.
>>>
>>> While I keep on moving the window around for one minute, the guest
>>> time falls up to 15 seconds behind host time.
>>>
>>> The problem is caused by delayed callbacks of hpet_timer(). A timer
>>> interrupt is injected into the guest during each callback. However,
>>> interrupts are lost if delays are greater than a comparator period.
>>>
>>>      
>> Yes, that's a well known limitation of qemu, in fact. We are lacking a
>> generic irq coalescing infrastructure. That, once designed and
>> available, would also allow to fix the HPET.
>>    
> 
> I don't think it requires anything that sophisticated.
> 
> It's just the period calculation of the HPET that's wrong and doesn't
> account for loss.

Blind (/wrt the guest state) reinjection from the iothread will
compensate for lost time of *that* thread but not of the target vcpu(s).
So, depending on your workload, you may reduce the drift more or less,
but you won't fix it this way.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux