cpufreq: interactive: apply intermediate load to max speed not current
authorTodd Poynor <toddpoynor@google.com>
Fri, 6 Apr 2012 08:13:09 +0000 (01:13 -0700)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:52:34 +0000 (13:52 -0800)
Evaluate spikes in load (below go_hispeed_load) against the maximum
speed supported by the device, not the current speed (which tends to
make it too difficult to raise speed to intermediate levels until
very busy).

Change-Id: Ib937006abf8bedb60891a739acd733e89b732ae0
Signed-off-by: Todd Poynor <toddpoynor@google.com>
drivers/cpufreq/cpufreq_interactive.c

index 62e7456ae509a4ab9100d45dffb0b3f938f50648..e3bbe820bb01e4840fb215cb746c0754a0020274 100644 (file)
@@ -171,7 +171,7 @@ static void cpufreq_interactive_timer(unsigned long data)
                else
                        new_freq = pcpu->policy->max * cpu_load / 100;
        } else {
-               new_freq = pcpu->policy->cur * cpu_load / 100;
+               new_freq = pcpu->policy->max * cpu_load / 100;
        }
 
        if (cpufreq_frequency_table_target(pcpu->policy, pcpu->freq_table,