diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-12-18 00:40:56 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-12-20 21:57:33 -0500 |
commit | 73a38b839b9295216e8d44dabf54de88270e77b8 (patch) | |
tree | 977d40b6198a8a6b5e5c28590b22610993a78b51 /arch | |
parent | 3147093e1de59081e82fb1d815424c3e952caf3e (diff) |
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')
-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) | |||
62 | clear_thread_flag(TIF_POLLING_NRFLAG); | 62 | clear_thread_flag(TIF_POLLING_NRFLAG); |
63 | smp_mb__after_clear_bit(); | 63 | smp_mb__after_clear_bit(); |
64 | 64 | ||
65 | set_bl_bit(); | ||
65 | if (!need_resched()) { | 66 | if (!need_resched()) { |
66 | local_irq_enable(); | 67 | local_irq_enable(); |
67 | cpu_sleep(); | 68 | cpu_sleep(); |
@@ -69,6 +70,7 @@ void default_idle(void) | |||
69 | local_irq_enable(); | 70 | local_irq_enable(); |
70 | 71 | ||
71 | set_thread_flag(TIF_POLLING_NRFLAG); | 72 | set_thread_flag(TIF_POLLING_NRFLAG); |
73 | clear_bl_bit(); | ||
72 | } else | 74 | } else |
73 | poll_idle(); | 75 | poll_idle(); |
74 | } | 76 | } |
@@ -92,7 +94,6 @@ void cpu_idle(void) | |||
92 | check_pgt_cache(); | 94 | check_pgt_cache(); |
93 | rmb(); | 95 | rmb(); |
94 | 96 | ||
95 | set_bl_bit(); | ||
96 | local_irq_disable(); | 97 | local_irq_disable(); |
97 | /* Don't trace irqs off for idle */ | 98 | /* Don't trace irqs off for idle */ |
98 | stop_critical_timings(); | 99 | stop_critical_timings(); |
@@ -103,7 +104,6 @@ void cpu_idle(void) | |||
103 | */ | 104 | */ |
104 | WARN_ON(irqs_disabled()); | 105 | WARN_ON(irqs_disabled()); |
105 | start_critical_timings(); | 106 | start_critical_timings(); |
106 | clear_bl_bit(); | ||
107 | } | 107 | } |
108 | 108 | ||
109 | tick_nohz_restart_sched_tick(); | 109 | tick_nohz_restart_sched_tick(); |