[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/3] implement a new icount_no_rt mode

From: Victor CLEMENT
Subject: [Qemu-devel] [PATCH 0/3] implement a new icount_no_rt mode
Date: Wed, 27 May 2015 13:52:00 +0200

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
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
  icount: add rt parameter to the -icount option to toogle icount_no_rt
  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(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]