Upon entering idle, we can turn off tick if the next timeout is exactly one tick away. Otherwise, we could enter inner idle loop with tick still enabled, without resched set, the tick will continue during idle therefore less optimal in terms of energy savings.
Signed-off-by: Jacob Pan <jacob.jun....@linux.intel.com> --- kernel/time/tick-sched.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 7c7ec45..bcadaab 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -606,7 +606,7 @@ static ktime_t tick_nohz_stop_sched_tick(struct tick_sched *ts, * restart it proper. */ delta = next_tick - basemono; - if (delta <= (u64)TICK_NSEC) { + if (delta < (u64)TICK_NSEC) { tick.tv64 = 0; if (!ts->tick_stopped) goto out; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/