From 9abffdd3cde76bd998df43a3b1cbdb744699eafb Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Tue, 24 Jan 2012 18:59:43 +0100 Subject: [PATCH] --- yaml --- r: 288772 b: refs/heads/master c: 15f827be93928890bba965bc175caee50c4406d2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/time/tick-sched.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 76bb58b02519..dd9b59bb09cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 430ee8819553f66fe00e36f676a45886d76e7e8b +refs/heads/master: 15f827be93928890bba965bc175caee50c4406d2 diff --git a/trunk/kernel/time/tick-sched.c b/trunk/kernel/time/tick-sched.c index 8cfffd9d9ce9..3526038f2836 100644 --- a/trunk/kernel/time/tick-sched.c +++ b/trunk/kernel/time/tick-sched.c @@ -558,20 +558,21 @@ void tick_nohz_idle_exit(void) local_irq_disable(); - if (ts->idle_active || (ts->inidle && ts->tick_stopped)) + WARN_ON_ONCE(!ts->inidle); + + ts->inidle = 0; + + if (ts->idle_active || ts->tick_stopped) now = ktime_get(); if (ts->idle_active) tick_nohz_stop_idle(cpu, now); - if (!ts->inidle || !ts->tick_stopped) { - ts->inidle = 0; + if (!ts->tick_stopped) { local_irq_enable(); return; } - ts->inidle = 0; - /* Update jiffies first */ select_nohz_load_balancer(0); tick_do_update_jiffies64(now);