On 09/13/2012 05:42 PM, Eric Blake wrote:
> On 09/13/2012 08:34 AM, Avi Kivity wrote:
>> On 09/13/2012 05:22 PM, Gleb Natapov wrote:
>>>>
>>>> It's much easier for us to call into qemu-ga to do the time correction
>>>> whenever this event occurs than to try and have libvirt figure out when
>>>> it's necessary.
>> 
>>> And if guest does not have qemu-ga what is better inject interrupts like
>>> crazy for next 2 minutes or leave guest with incorrect time?
>> 
>> We can try to S3 and resume the guest.  The guest will assume that it
>> has slept for an unknown amount of time and resync from the RTC.
> 
> Just restating to make sure I'm clear: you are proposing that after host
> suspend and host wakeup, _then_ qemu asks the guest to go into S3
> followed by an immediate resume.  During the time that the guest goes
> into S3, its clock is way off; but then the immediate resume will be the
> necessary kick to the guest to resync, and at that point, the guest can
> assume that it has been off since the host originally suspended (rather
> than the instant window where qemu actually bounced S3 after the host
> had already resumed).

Correct.  In theory we can shut down networking while this is happening
so the guest can't tell it's in a time machine.

> 
>> This may not work for really old server oriented guests.
> 
> S3 requires guest cooperation, period.  But so does qemu-ga.  It's
> better than nothing, and we can't get perfection without guest cooperation.

qemu-ga requires either an admin/tool to install qemu-ga, or for qemu-ga
to be preinstalled by the OS vendor.  S3 requires S3 support to be
provided by the host vendor, and for it to be functional.  A
significantly easier bar to clear.


-- 
error compiling committee.c: too many arguments to function

Reply via email to