Commit 4ffd16fc authored by Stefano Stabellini's avatar Stefano Stabellini Committed by Anthony Liguori
Browse files

qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled



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: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent 5bfb723f
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -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) {