From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38552) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCBXs-0006wm-QF for qemu-devel@nongnu.org; Thu, 13 Sep 2012 11:41:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCBXm-0002MR-Us for qemu-devel@nongnu.org; Thu, 13 Sep 2012 11:41:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22377) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCBXm-0002KE-MS for qemu-devel@nongnu.org; Thu, 13 Sep 2012 11:41:30 -0400 Message-ID: <5051FE85.6070904@redhat.com> Date: Thu, 13 Sep 2012 18:40:53 +0300 From: Avi Kivity MIME-Version: 1.0 References: <87pq5r5otp.fsf@codemonkey.ws> <20120912151549.GT20907@redhat.com> <87y5kfrtne.fsf@codemonkey.ws> <20120913104940.GA20907@redhat.com> <5051DC20.4090204@redhat.com> <20120913132804.GO7767@redhat.com> <87r4q6xbiy.fsf@codemonkey.ws> <20120913142228.GK20907@redhat.com> <5051EF0D.4070109@redhat.com> <5051F0CB.9040303@redhat.com> In-Reply-To: <5051F0CB.9040303@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Rethinking missed tick catchup List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Gleb Natapov , Jan Kiszka , Michael Roth , qemu-devel@nongnu.org, Anthony Liguori , Paolo Bonzini , Luiz Capitulino 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