[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/8] timers: use cpu_get_icount() directly
From: |
Alex Bligh |
Subject: |
Re: [Qemu-devel] [PATCH 3/8] timers: use cpu_get_icount() directly |
Date: |
Tue, 8 Oct 2013 17:49:03 +0100 |
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 <address@hidden>
Reviewed-By: Alex Bligh <address@hidden>
(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
[Qemu-devel] [PATCH 6/8] timers: introduce cpu_get_clock_locked, Paolo Bonzini, 2013/10/08
[Qemu-devel] [PATCH 7/8] timers: document (future) locking rules for icount, Paolo Bonzini, 2013/10/08