summaryrefslogtreecommitdiff
path: root/aclocal.m4
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@argon.tklauser.home>2007-08-16 14:07:09 +0200
committerTobias Klauser <tklauser@argon.tklauser.home>2007-08-16 14:07:09 +0200
commit032941b6532127263a11088a30cf4480547abeba (patch)
tree77534e28056cb21f69e9b8fe4e178c2867ff4e9f /aclocal.m4
parent20930e8c0bd28d9b214cdc7f969dae8330591957 (diff)
Update changelog
Diffstat (limited to 'aclocal.m4')
0 files changed, 0 insertions, 0 deletions
before handling the interrupt. This mechanism prevents the other CPUs from waiting for a CPU which is handling interrupts. But the check is done against the state index returned by the back end driver's ->enter functions which could be different from the initial index passed as parameter to the cpuidle_enter_state() function. entered_state = target_state->enter(dev, drv, index); [ ... ] if (!cpuidle_state_is_coupled(drv, entered_state)) local_irq_enable(); [ ... ] If the 'index' is referring to a coupled idle state but the 'entered_state' is *not* coupled, then the interrupts are enabled again. All CPUs blocked on the sync barrier may busy loop longer if the CPU has interrupts to handle before decrementing the ready-count. That's consuming more energy than saving. Fixes: 0b89e9aa2856 (cpuidle: delay enabling interrupts until all coupled CPUs leave idle) Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: 3.15+ <stable@vger.kernel.org> # 3.15+ [ rjw: Subject & changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base/power')