From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ILm9i-0004Tp-Bm for qemu-devel@nongnu.org; Thu, 16 Aug 2007 16:41:22 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ILm9e-0004RG-97 for qemu-devel@nongnu.org; Thu, 16 Aug 2007 16:41:19 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ILm9d-0004R8-WB for qemu-devel@nongnu.org; Thu, 16 Aug 2007 16:41:18 -0400 Received: from hu-out-0506.google.com ([72.14.214.239]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1ILm9d-0000ao-J0 for qemu-devel@nongnu.org; Thu, 16 Aug 2007 16:41:17 -0400 Received: by hu-out-0506.google.com with SMTP id 20so217130huc for ; Thu, 16 Aug 2007 13:41:16 -0700 (PDT) From: Luca Tettamanti Date: Thu, 16 Aug 2007 22:41:13 +0200 Message-Id: <11872968773449-git-send-email-kronos.it@gmail.com> Subject: [Qemu-devel] [PATCH/RFC 0/4] Rework alarm timer infrastrucure. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm-devel@lists.sourceforge.net Cc: Dan Kenigsberg , Luca Tettamanti , qemu-devel@nongnu.org Hello, in reply to this mail I will send a serie of 4 patches that cleans up and expands the alarm timer handling in QEMU. Patches apply to current kvm-userspace tree, but I think I can rebase it to QEMU svn if desired. Patch 1 is mostly a cleanup of the existing code; instead of having multiple #ifdefs to handle different timers scattered all over the code I've created a modular infrastructure where each timer type is self-contained and generic code is more readable. The resulting code is functionally equivalent to the old one. Patch 2 implements the "-clock" command line option proposed by Daniel Berrange and Avi Kivity. By default QEMU tries RTC and then falls back to unix timer; user can override the order of the timer through this options. Syntax is pretty simple: -clock timer1,timer2,etc. (QEMU will pick the first one that works). Patch 3 adds support for HPET under Linux (which is basically my old patch). As suggested HPET takes precedence over other timers, but of course this can be overridden. Patch 4 introduces "dynticks" timer source; patch is mostly based on the work Dan Kenigsberg. dynticks is now the default alarm timer.