From: Ingo Molnar Date: Fri, 27 Mar 2015 09:04:06 +0000 (+0100) Subject: Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck... X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4bfe186dbe0a058680e4bfb0d673194f0ceaffd4;p=linux-beck.git Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU updates from Paul E. McKenney: - Documentation updates. - Changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. - Miscellaneous fixes. - Add in-kernel API to enable and disable expediting of normal RCU grace periods. - Improve RCU's handling of (hotplug-) outgoing CPUs. Note: ARM support is lagging a bit here, and these improved diagnostics might generate (harmless) splats. - NO_HZ_FULL_SYSIDLE fixes. - Tiny RCU updates to make it more tiny. Signed-off-by: Ingo Molnar --- 4bfe186dbe0a058680e4bfb0d673194f0ceaffd4 diff --cc kernel/sched/idle.c index 80014a178342,b0090accfb5b..d27d36476dca --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@@ -195,21 -196,10 +195,23 @@@ exit_idle rcu_idle_exit(); start_critical_timings(); + return; + +use_default: + /* + * We can't use the cpuidle framework, let's use the default + * idle routine. + */ + if (current_clr_polling_and_test()) + local_irq_enable(); + else + arch_cpu_idle(); + + goto exit_idle; } + DEFINE_PER_CPU(bool, cpu_dead_idle); + /* * Generic idle loop implementation *