diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-12-18 14:40:56 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-12-21 11:57:33 +0900 |
commit | 73a38b839b9295216e8d44dabf54de88270e77b8 (patch) | |
tree | 977d40b6198a8a6b5e5c28590b22610993a78b51 /arch/sh/kernel/idle.c | |
parent | 3147093e1de59081e82fb1d815424c3e952caf3e (diff) | |
download | lwn-73a38b839b9295216e8d44dabf54de88270e77b8.tar.gz lwn-73a38b839b9295216e8d44dabf54de88270e77b8.zip |
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 <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/idle.c')
-rw-r--r-- | arch/sh/kernel/idle.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c index 8e47565dcfd1..6b3d706deac1 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(); |