On 8 Oct 2013, at 09:47, Paolo Bonzini wrote: > This will help later when we will have to place these calls in > a critical section, and thus call a version of cpu_get_icount() > that does not take the lock. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
Reviewed-By: Alex Bligh <a...@alex.org.uk> (and I meant Reviewed-By: in patches 1 and 2 - thanks Paolo for setting me straight) > --- > cpus.c | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/cpus.c b/cpus.c > index 870a832..f87ff6f 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -224,12 +224,15 @@ static void icount_adjust(void) > int64_t cur_icount; > int64_t delta; > static int64_t last_delta; > + > /* If the VM is not running, then do nothing. */ > if (!runstate_is_running()) { > return; > } > + > cur_time = cpu_get_clock(); > - cur_icount = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); > + cur_icount = cpu_get_icount(); > + > delta = cur_icount - cur_time; > /* FIXME: This is a very crude algorithm, somewhat prone to oscillation. > */ > if (delta > 0 > @@ -285,7 +288,7 @@ static void icount_warp_rt(void *opaque) > * far ahead of real time. > */ > int64_t cur_time = cpu_get_clock(); > - int64_t cur_icount = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); > + int64_t cur_icount = cpu_get_icount(); > int64_t delta = cur_time - cur_icount; > qemu_icount_bias += MIN(warp_delta, delta); > } > -- > 1.8.3.1 > > > > -- Alex Bligh