diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-01-13 11:37:05 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-01-13 11:37:05 -0500 |
commit | c9c8986847d2f4fc474c10ee08afa57e7474096d (patch) | |
tree | b4ae6347b710fed25619df7ff9ce009e74f7ada7 /drivers/idle/intel_idle.c | |
parent | 0bd3a173d711857fc9f583eb5825386cc08f3948 (diff) | |
parent | 7d590cca7cd2cce4ed7c47d221d6f90566653ba8 (diff) |
Merge branch 'x86/idle' into sched/core
Merge these x86 specific bits - we are going to add generic bits as well.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/idle/intel_idle.c')
-rw-r--r-- | drivers/idle/intel_idle.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c index 797ed29a36ea..6c0e0452dd9b 100644 --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c | |||
@@ -377,16 +377,7 @@ static int intel_idle(struct cpuidle_device *dev, | |||
377 | if (!(lapic_timer_reliable_states & (1 << (cstate)))) | 377 | if (!(lapic_timer_reliable_states & (1 << (cstate)))) |
378 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu); | 378 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu); |
379 | 379 | ||
380 | if (!current_set_polling_and_test()) { | 380 | mwait_idle_with_hints(eax, ecx); |
381 | |||
382 | if (this_cpu_has(X86_FEATURE_CLFLUSH_MONITOR)) | ||
383 | clflush((void *)¤t_thread_info()->flags); | ||
384 | |||
385 | __monitor((void *)¤t_thread_info()->flags, 0, 0); | ||
386 | smp_mb(); | ||
387 | if (!need_resched()) | ||
388 | __mwait(eax, ecx); | ||
389 | } | ||
390 | 381 | ||
391 | if (!(lapic_timer_reliable_states & (1 << (cstate)))) | 382 | if (!(lapic_timer_reliable_states & (1 << (cstate)))) |
392 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu); | 383 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu); |