From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:53626) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFS9F-0004RD-LY for qemu-devel@nongnu.org; Thu, 28 Apr 2011 10:24:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QFS9E-0006uu-71 for qemu-devel@nongnu.org; Thu, 28 Apr 2011 10:24:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:1085) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFS9D-0006ui-ML for qemu-devel@nongnu.org; Thu, 28 Apr 2011 10:24:52 -0400 From: Ulrich Obergfell Date: Thu, 28 Apr 2011 16:24:55 +0200 Message-Id: <1304000700-3640-1-git-send-email-uobergfe@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/5] hpet 'driftfix': alleviate time drift with HPET periodic timers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, kvm@vger.kernel.org, jan.kiszka@siemens.com, uobergfe@redhat.com, gcosta@redhat.com, avi@redhat.com Hi, This is version 3 of a series of patches that I originally posted in: http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01989.html http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01992.html http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01991.html http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01990.html http://article.gmane.org/gmane.comp.emulators.kvm.devel/69325 http://article.gmane.org/gmane.comp.emulators.kvm.devel/69326 http://article.gmane.org/gmane.comp.emulators.kvm.devel/69327 http://article.gmane.org/gmane.comp.emulators.kvm.devel/69328 Changes since version 2: - The vmstate related to 'driftfix' is now in a separate subsection that can be migrated conditionally. - The new fields of the HPETTimer structure are no longer initialized in hpet_init(). This is now done in hpet_reset() only. - Compensation of lost timer interrupts is now based on a backlog of unaccounted HPET clock periods instead of 'irqs_to_inject'. This eliminates the need to scale 'irqs_to_inject' when a guest o/s modifies the comparator register value. Please review and please comment. Regards, Uli Ulrich Obergfell (5): hpet 'driftfix': add hooks required to detect coalesced interrupts (x86 apic only) hpet 'driftfix': add driftfix property to HPETState and DeviceInfo hpet 'driftfix': add fields to HPETTimer and VMStateDescription hpet 'driftfix': add code in update_irq() to detect coalesced interrupts (x86 apic only) hpet 'driftfix': add code in hpet_timer() to compensate delayed callbacks and coalesced interrupts hw/apic.c | 4 ++ hw/hpet.c | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- sysemu.h | 3 ++ vl.c | 3 ++ 4 files changed, 120 insertions(+), 4 deletions(-)