Bläddra i källkod

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>
Paul Mundt 15 år sedan
förälder
incheckning
73a38b839b
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      arch/sh/kernel/idle.c

+ 2 - 2
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();