|
@@ -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();
|