sh: Make check_pgt_cache() more aggressive while idling.
This follows the x86 change and moves check_pgt_cache() up under the !need_resched() tight loop, rather than simply calling in to it when exiting idle. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
@@ -88,6 +88,9 @@ void cpu_idle(void)
|
|||||||
tick_nohz_stop_sched_tick(1);
|
tick_nohz_stop_sched_tick(1);
|
||||||
|
|
||||||
while (!need_resched() && cpu_online(cpu)) {
|
while (!need_resched() && cpu_online(cpu)) {
|
||||||
|
check_pgt_cache();
|
||||||
|
rmb();
|
||||||
|
|
||||||
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();
|
||||||
@@ -104,7 +107,6 @@ void cpu_idle(void)
|
|||||||
preempt_enable_no_resched();
|
preempt_enable_no_resched();
|
||||||
schedule();
|
schedule();
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
check_pgt_cache();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user