From: Paul Mundt Date: Fri, 18 Dec 2009 05:40:56 +0000 (+0900) Subject: sh: Only use bl bit toggling for sleeping idle. X-Git-Tag: v2.6.33-rc2~7^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=73a38b839b9295216e8d44dabf54de88270e77b8;p=platform%2Fkernel%2Flinux-stable.git sh: Only use bl bit toggling for sleeping idle. We don't actually require this in the cpu_relax() polling case, so just cuddle these around the sleeping version. Signed-off-by: Paul Mundt --- diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c index 8e47565..6b3d706 100644 --- a/arch/sh/kernel/idle.c +++ b/arch/sh/kernel/idle.c @@ -62,6 +62,7 @@ void default_idle(void) clear_thread_flag(TIF_POLLING_NRFLAG); smp_mb__after_clear_bit(); + set_bl_bit(); if (!need_resched()) { local_irq_enable(); cpu_sleep(); @@ -69,6 +70,7 @@ void default_idle(void) local_irq_enable(); set_thread_flag(TIF_POLLING_NRFLAG); + clear_bl_bit(); } else poll_idle(); } @@ -92,7 +94,6 @@ void cpu_idle(void) check_pgt_cache(); rmb(); - set_bl_bit(); local_irq_disable(); /* Don't trace irqs off for idle */ stop_critical_timings(); @@ -103,7 +104,6 @@ void cpu_idle(void) */ WARN_ON(irqs_disabled()); start_critical_timings(); - clear_bl_bit(); } tick_nohz_restart_sched_tick();