提交 3147093e 编写于 作者: P Paul Mundt

sh: Restore bl bit toggling in idle loop.

This fixes up some crashes with IRQs racing the need_resched() test under
QEMU.
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 2f7bb2df
...@@ -92,6 +92,7 @@ void cpu_idle(void) ...@@ -92,6 +92,7 @@ void cpu_idle(void)
check_pgt_cache(); check_pgt_cache();
rmb(); rmb();
set_bl_bit();
local_irq_disable(); local_irq_disable();
/* Don't trace irqs off for idle */ /* Don't trace irqs off for idle */
stop_critical_timings(); stop_critical_timings();
...@@ -102,6 +103,7 @@ void cpu_idle(void) ...@@ -102,6 +103,7 @@ void cpu_idle(void)
*/ */
WARN_ON(irqs_disabled()); WARN_ON(irqs_disabled());
start_critical_timings(); start_critical_timings();
clear_bl_bit();
} }
tick_nohz_restart_sched_tick(); tick_nohz_restart_sched_tick();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册