X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Ftime%2Ftick-sched.c;h=fa9bb73dbdb41c4678ca0ad1da01ebcaf5e46cc1;hb=b9c64498f53e0f4d90eec03048f73ac215bb6f79;hp=63f24b55069551f4331f09c090657b66be139f7e;hpb=5bdeae46be6dfe9efa44a548bd622af325f4bdb4;p=linux-2.6 diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 63f24b5506..fa9bb73dbd 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -137,6 +137,7 @@ void tick_nohz_update_jiffies(void) cpu_clear(cpu, nohz_cpu_mask); now = ktime_get(); + ts->idle_waketime = now; local_irq_save(flags); tick_do_update_jiffies64(now); @@ -400,6 +401,7 @@ void tick_nohz_restart_sched_tick(void) * Cancel the scheduled timer and restore the tick */ ts->tick_stopped = 0; + ts->idle_exittime = now; hrtimer_cancel(&ts->sched_timer); ts->sched_timer.expires = ts->idle_tick; @@ -679,7 +681,7 @@ int tick_check_oneshot_change(int allow_nohz) if (ts->nohz_mode != NOHZ_MODE_INACTIVE) return 0; - if (!timekeeping_is_continuous() || !tick_is_oneshot_available()) + if (!timekeeping_valid_for_hres() || !tick_is_oneshot_available()) return 0; if (!allow_nohz)