diff options
Diffstat (limited to 'arch/x86/kernel/process_32.c')
-rw-r--r-- | arch/x86/kernel/process_32.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index f8476dfbb60d..ee4ab461c50d 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -168,24 +168,19 @@ void cpu_idle(void) | |||
168 | while (1) { | 168 | while (1) { |
169 | tick_nohz_stop_sched_tick(); | 169 | tick_nohz_stop_sched_tick(); |
170 | while (!need_resched()) { | 170 | while (!need_resched()) { |
171 | void (*idle)(void); | ||
172 | 171 | ||
173 | check_pgt_cache(); | 172 | check_pgt_cache(); |
174 | rmb(); | 173 | rmb(); |
175 | idle = pm_idle; | ||
176 | 174 | ||
177 | if (rcu_pending(cpu)) | 175 | if (rcu_pending(cpu)) |
178 | rcu_check_callbacks(cpu, 0); | 176 | rcu_check_callbacks(cpu, 0); |
179 | 177 | ||
180 | if (!idle) | ||
181 | idle = default_idle; | ||
182 | |||
183 | if (cpu_is_offline(cpu)) | 178 | if (cpu_is_offline(cpu)) |
184 | play_dead(); | 179 | play_dead(); |
185 | 180 | ||
186 | local_irq_disable(); | 181 | local_irq_disable(); |
187 | __get_cpu_var(irq_stat).idle_timestamp = jiffies; | 182 | __get_cpu_var(irq_stat).idle_timestamp = jiffies; |
188 | idle(); | 183 | pm_idle(); |
189 | } | 184 | } |
190 | tick_nohz_restart_sched_tick(); | 185 | tick_nohz_restart_sched_tick(); |
191 | preempt_enable_no_resched(); | 186 | preempt_enable_no_resched(); |