From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LNSfC-000409-BR for qemu-devel@nongnu.org; Thu, 15 Jan 2009 08:53:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LNSfA-0003zx-LQ for qemu-devel@nongnu.org; Thu, 15 Jan 2009 08:53:37 -0500 Received: from [199.232.76.173] (port=48018 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LNSfA-0003zu-Et for qemu-devel@nongnu.org; Thu, 15 Jan 2009 08:53:36 -0500 Received: from mx2.redhat.com ([66.187.237.31]:37152) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LNSf9-0007BB-WC for qemu-devel@nongnu.org; Thu, 15 Jan 2009 08:53:36 -0500 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n0FDrY3m007247 for ; Thu, 15 Jan 2009 08:53:34 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n0FDrYPt028844 for ; Thu, 15 Jan 2009 08:53:35 -0500 Received: from amt.cnet (vpn-10-114.str.redhat.com [10.32.10.114]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n0FDrUeM006933 for ; Thu, 15 Jan 2009 08:53:31 -0500 Received: from amt.cnet (amt.cnet [127.0.0.1]) by amt.cnet (Postfix) with ESMTP id 9A4AF58802F for ; Thu, 15 Jan 2009 11:53:18 -0200 (BRST) Received: (from marcelo@localhost) by amt.cnet (8.14.3/8.14.3/Submit) id n0FDrGVi003860 for qemu-devel@nongnu.org; Thu, 15 Jan 2009 11:53:16 -0200 Date: Thu, 15 Jan 2009 11:53:16 -0200 From: Marcelo Tosatti Subject: Re: [Qemu-devel] [PATCH][RESEND] Time drift again. Message-ID: <20090115135316.GA3434@amt.cnet> References: <20090114115910.GR3267@redhat.com> <20090114170222.GE6431@shareable.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090114170222.GE6431@shareable.org> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Wed, Jan 14, 2009 at 05:02:23PM +0000, Jamie Lokier wrote: > Gleb Natapov wrote: > > After my last patch to fix interrupt coalescing was rejected > > on the basis that it is too intrusive we decided to make the > > fix much more localized and only fix the problem for RTC time > > source. Unfortunately it is impossible to fix the problem entirely > > inside RTC code like Andrzej proposed since Windows reads RTC > > register C more then once on each time interrupt so it is impossible > > to count reliably how many interrupt windows actually handled. > > Proposed solution is localized to I386 target and is disabled by > > default. To enable it "-rtc-td-hack" flag should be used. > > I truly don't understand why the time correction is done by arcane > guest-specific details like counting register reads, making interrupts > behave different from real hardware, and only correcting guests which > use particular clock sources - instead of simply warping virtual time > (in all the places it's used) which might actually work on all targets > and all guest OSes. > > I don't remember anybody responding to that suggestion. > Was it a silly one? Not, it was not silly. The problem is every guest handles timekeeping differently (even different clocks in the same guest behave differently). Xen and ESX implement virtual time, but it can be problematic in some scenarios. http://lists.xensource.com/archives/html/xen-devel/2008-02/msg00036.html