cpufreq: interactive: don't skip waking up speedchange_task if target_freq > policy->cur
When __cpufreq_driver_target() in speedchange_task failed for some reason, the policy->cur could be lower than the target_freq. The governor misses to change the target_freq if the target_freq is equal to the next_freq at the next sample time. Added a check to prevent the CPU to stay at the speed that is lower than the target_freq for long duration. Change-Id: Ibfdcd193b8280390b8f8374a63218aa31267f310 Signed-off-by: Minsung Kim <ms925.kim@samsung.com>
This commit is contained in:
parent
39b5c1bf83
commit
0b4d5f5968
1 changed files with 2 additions and 1 deletions
|
@ -432,7 +432,8 @@ static void cpufreq_interactive_timer(unsigned long data)
|
|||
pcpu->floor_validate_time = now;
|
||||
}
|
||||
|
||||
if (pcpu->target_freq == new_freq) {
|
||||
if (pcpu->target_freq == new_freq &&
|
||||
pcpu->target_freq <= pcpu->policy->cur) {
|
||||
trace_cpufreq_interactive_already(
|
||||
data, cpu_load, pcpu->target_freq,
|
||||
pcpu->policy->cur, new_freq);
|
||||
|
|
Loading…
Add table
Reference in a new issue