From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:39569) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsGIo-0004SD-5t for qemu-devel@nongnu.org; Tue, 31 Jan 2012 11:11:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RsGIi-0002IF-6h for qemu-devel@nongnu.org; Tue, 31 Jan 2012 11:11:26 -0500 Received: from smtp.citrix.com ([66.165.176.89]:30726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsGIi-0002I7-2k for qemu-devel@nongnu.org; Tue, 31 Jan 2012 11:11:20 -0500 From: Stefano Stabellini Date: Tue, 31 Jan 2012 16:12:53 +0000 Message-ID: <1328026374-12803-5-git-send-email-stefano.stabellini@eu.citrix.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v4 5/6] qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: xen-devel@lists.xensource.com Cc: Stefano Stabellini , jan.kiszka@siemens.com, qemu-devel@nongnu.org, avi@redhat.com, pbonzini@redhat.com 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 --- qemu-timer.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/qemu-timer.c b/qemu-timer.c index 29410f1..de20852 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; 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) { -- 1.7.2.5