aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/idle
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/idle')
-rw-r--r--drivers/idle/intel_idle.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index c37ef64d1465..ad0fb0182b4c 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -186,13 +186,10 @@ static int intel_idle(struct cpuidle_device *dev, struct cpuidle_state *state)
186 local_irq_disable(); 186 local_irq_disable();
187 187
188 /* 188 /*
189 * If the state flag indicates that the TLB will be flushed or if this 189 * leave_mm() to avoid costly and often unnecessary wakeups
190 * is the deepest c-state supported, do a voluntary leave mm to avoid 190 * for flushing the user TLB's associated with the active mm.
191 * costly and mostly unnecessary wakeups for flushing the user TLB's
192 * associated with the active mm.
193 */ 191 */
194 if (state->flags & CPUIDLE_FLAG_TLB_FLUSHED || 192 if (state->flags & CPUIDLE_FLAG_TLB_FLUSHED)
195 (&dev->states[dev->state_count - 1] == state))
196 leave_mm(cpu); 193 leave_mm(cpu);
197 194
198 if (!(lapic_timer_reliable_states & (1 << (cstate)))) 195 if (!(lapic_timer_reliable_states & (1 << (cstate))))