|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] [PATCH v2 4/5] qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled |
Date: | Fri, 27 Jan 2012 15:42:42 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111222 Thunderbird/9.0 |
On 01/27/2012 01:26 PM, Stefano Stabellini wrote:
Also delta in qemu_next_alarm_deadline is a 64 bit value so set the default to INT64_MAX instead of INT32_MAX. Signed-off-by: Stefano Stabellini<address@hidden> --- qemu-timer.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/qemu-timer.c b/qemu-timer.c index cd026c6..648db1d 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -106,23 +106,21 @@ static inline int alarm_has_dynticks(struct qemu_alarm_timer *t) static int64_t qemu_next_alarm_deadline(void) { - int64_t delta; + int64_t delta = INT64_MAX;
I'm worried of overflows elsewhere...
int64_t rtdelta; - if (!use_icount&& vm_clock->active_timers) { + if (!use_icount&& vm_clock->enabled&& vm_clock->active_timers) { delta = vm_clock->active_timers->expire_time - qemu_get_clock_ns(vm_clock); - } else { - delta = INT32_MAX; } - if (host_clock->active_timers) { + if (host_clock->enabled&& host_clock->active_timers) { int64_t hdelta = host_clock->active_timers->expire_time - qemu_get_clock_ns(host_clock); if (hdelta< delta) { delta = hdelta; } } - if (rt_clock->active_timers) { + if (rt_clock->enabled&& rt_clock->active_timers) { rtdelta = (rt_clock->active_timers->expire_time - qemu_get_clock_ns(rt_clock)); if (rtdelta< delta) {
The patch is otherwise okay, but without looking more closely at the callers I'm not quite ready to give my Reviewed-by.
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |