提交 73a38b83 编写于 作者: P Paul Mundt

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: NPaul Mundt <lethal@linux-sh.org>
上级 3147093e
......@@ -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();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册