x86: simplify idle selection

default_idle is selected in cpu_idle(), when no other idle routine is
selected. Select it in select_idle_routine() when mwait is not
selected.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Thomas Gleixner
2008-06-09 16:59:53 +02:00
committed by Ingo Molnar
parent 9e26d84273
commit 6ddd2a2794
3 changed files with 10 additions and 22 deletions

View File

@@ -168,24 +168,19 @@ void cpu_idle(void)
while (1) {
tick_nohz_stop_sched_tick();
while (!need_resched()) {
void (*idle)(void);
check_pgt_cache();
rmb();
idle = pm_idle;
if (rcu_pending(cpu))
rcu_check_callbacks(cpu, 0);
if (!idle)
idle = default_idle;
if (cpu_is_offline(cpu))
play_dead();
local_irq_disable();
__get_cpu_var(irq_stat).idle_timestamp = jiffies;
idle();
pm_idle();
}
tick_nohz_restart_sched_tick();
preempt_enable_no_resched();