From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lwiz5-0005ed-Hc for qemu-devel@nongnu.org; Wed, 22 Apr 2009 16:23:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lwiz0-0005cv-5l for qemu-devel@nongnu.org; Wed, 22 Apr 2009 16:23:54 -0400 Received: from [199.232.76.173] (port=48883 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lwiz0-0005cq-20 for qemu-devel@nongnu.org; Wed, 22 Apr 2009 16:23:50 -0400 Received: from e34.co.us.ibm.com ([32.97.110.152]:37810) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lwiyz-0000R6-JK for qemu-devel@nongnu.org; Wed, 22 Apr 2009 16:23:49 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e34.co.us.ibm.com (8.13.1/8.13.1) with ESMTP id n3MKLNmI021366 for ; Wed, 22 Apr 2009 14:21:23 -0600 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n3MKNmYv079784 for ; Wed, 22 Apr 2009 14:23:48 -0600 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n3MKNlVj016901 for ; Wed, 22 Apr 2009 14:23:47 -0600 Message-ID: <49EF7CD2.5080001@us.ibm.com> Date: Wed, 22 Apr 2009 15:23:46 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v2] Change RTC time drift IRQ re-injection References: <20090421082100.GB10126@redhat.com> In-Reply-To: <20090421082100.GB10126@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gleb Natapov Cc: qemu-devel@nongnu.org Gleb Natapov wrote: > Currently IRQ are reinjected as soon as they are acknowledged to > the RTC, but Windows sometimes do acknowledgement in a loop with > global interrupt disabled waiting for interrupt to be cleared and > it does not mask RTC vector in PIC/APIC while doing this. In such > situation interrupt injection always fails and RTC interrupt is never > cleared. > > Instead of reinjecting coalesced IRQs on acknowledgement the patch below > reinjects them by accelerating RTC clock a bit. This way RTC interrupt > is not constantly raced after coalesced interrupt. > > Signed-off-by: Gleb Natapov > Applied, but... > @@ -536,6 +563,7 @@ static int rtc_load_td(QEMUFile *f, void *opaque, int version_id) > > s->irq_coalesced = qemu_get_be32(f); > s->period = qemu_get_be32(f); > + rtc_coalesced_timer_update(s) > return 0; > } > #endif You were missing a ';'. I added it. -- Regards, Anthony Liguori