From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58332) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxZsu-0004fr-Lq for qemu-devel@nongnu.org; Wed, 27 May 2015 07:52:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxZsr-0007Dl-Cc for qemu-devel@nongnu.org; Wed, 27 May 2015 07:52:32 -0400 Received: from zimbra3.corp.accelance.fr ([213.162.49.233]:42847) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxZsr-0007DO-6O for qemu-devel@nongnu.org; Wed, 27 May 2015 07:52:29 -0400 From: Victor CLEMENT Date: Wed, 27 May 2015 13:52:00 +0200 Message-Id: <1432727523-2008-1-git-send-email-victor.clement@openwide.fr> Subject: [Qemu-devel] [PATCH 0/3] implement a new icount_no_rt mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: francois.guerret@hotmail.fr, Victor CLEMENT This patch adds a new icount_no_rt mode set by the new 'rt' parameter of the icount option. When using icount_no_rt mode, the QEMU_VIRTUAL_CLOCK will be running at the maximal possible speed by warping the CPU sleep times to the soonest virtual clock deadline. The goal is to get deterministic execution times by preventing potential latencies from qemu execution on the host machine. The virtual cpus sleep time will be calculated but not spent, hence the virtual time will not be realistic when looking from the host point of view (ex. a 'sleep 10' on the guest will return almost instantly while the guest clock wil act like 10s have really passed) This new mode will be used for testing real-time applications inside qemu. It makes the virtual clock "purely" virtual by removing any reference to host clocks in the calculation of QEMU_VIRTUAL_CLOCK value. Thus, some emulated devices which use other clocks as reference will not work in this mode. The virtual time would be running too fast compared to the actual "real" time. To use this mode, one need to modify some emulators to simulate scenario using the virtual clock and report some events using the virtual clock too. This kind of changes cannot be generic as the scenario will depend on the tested application, so modified emulators are not part of this patch set. Victor CLEMENT (3): icount: implement a new icount_no_rt mode without real time cpu sleeping icount: add rt parameter to the -icount option to toogle icount_no_rt mode icount: print a warning if there is no more deadline in no_rt mode cpus.c | 85 +++++++++++++++++++++++++++++++++++++++------------------ qemu-options.hx | 12 ++++++-- vl.c | 3 ++ 3 files changed, 72 insertions(+), 28 deletions(-) -- 2.3.7