diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-08-15 20:28:52 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-09-04 01:35:45 +0200 |
commit | 66804c13f7b79fb26cf4848ebac1e865b9aff65c (patch) | |
tree | 90b00fa59dc08a659435c656e21f41618478e28e /drivers | |
parent | Honor state disabling in the cpuidle ladder governor (diff) | |
download | linux-66804c13f7b79fb26cf4848ebac1e865b9aff65c.tar.xz linux-66804c13f7b79fb26cf4848ebac1e865b9aff65c.zip |
PM / cpuidle: Make ladder governor use the "disabled" state flag
For the mechanism introduced by commit cbc9ef0 (PM / Domains: Add
preliminary support for cpuidle, v2) to work with the ladder
governor, that governor should respect the "disabled" state flag
added by that commit. Change the ladder governor accordingly.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cpuidle/governors/ladder.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/cpuidle/governors/ladder.c b/drivers/cpuidle/governors/ladder.c index 2aef26c520bb..9b784051ec12 100644 --- a/drivers/cpuidle/governors/ladder.c +++ b/drivers/cpuidle/governors/ladder.c @@ -88,6 +88,7 @@ static int ladder_select_state(struct cpuidle_driver *drv, /* consider promotion */ if (last_idx < drv->state_count - 1 && + !drv->states[last_idx + 1].disabled && !dev->states_usage[last_idx + 1].disable && last_residency > last_state->threshold.promotion_time && drv->states[last_idx + 1].exit_latency <= latency_req) { @@ -101,7 +102,8 @@ static int ladder_select_state(struct cpuidle_driver *drv, /* consider demotion */ if (last_idx > CPUIDLE_DRIVER_STATE_START && - (dev->states_usage[last_idx].disable || + (drv->states[last_idx].disabled || + dev->states_usage[last_idx].disable || drv->states[last_idx].exit_latency > latency_req)) { int i; |