diff options
author | Todd Poynor <toddpoynor@google.com> | 2012-04-19 12:52:48 -0700 |
---|---|---|
committer | Todd Poynor <toddpoynor@google.com> | 2012-04-19 19:45:37 -0700 |
commit | 4e3800ea447962106a962f5279ea508edd6ca160 (patch) | |
tree | c8d2685541250b04aad114312b1265c3ad2dd38c /drivers/cpufreq/cpufreq_interactive.c | |
parent | 94225ab0bef6f32108eaa410bb894caa2b4317e2 (diff) | |
download | kernel_samsung_tuna-4e3800ea447962106a962f5279ea508edd6ca160.zip kernel_samsung_tuna-4e3800ea447962106a962f5279ea508edd6ca160.tar.gz kernel_samsung_tuna-4e3800ea447962106a962f5279ea508edd6ca160.tar.bz2 |
cpufreq: interactive: based hispeed bump on target freq, not actual
For systems that set a common speed for all CPUs, checking current
speed here could bypass the intermediate hispeed bump decision for
this CPU when another CPU was already at hispeed. This could
result in an overly high setting (for all CPUs) in situations
where all CPUs were about to drop to load levels that map to
hispeed or below.
Change-Id: I186f23dcfc5e2b6336cab8b0327f0c8a9a4482bc
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Diffstat (limited to 'drivers/cpufreq/cpufreq_interactive.c')
-rw-r--r-- | drivers/cpufreq/cpufreq_interactive.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c index c9f348f..6a9f6c2 100644 --- a/drivers/cpufreq/cpufreq_interactive.c +++ b/drivers/cpufreq/cpufreq_interactive.c @@ -174,7 +174,7 @@ static void cpufreq_interactive_timer(unsigned long data) cpu_load = load_since_change; if (cpu_load >= go_hispeed_load) { - if (pcpu->policy->cur == pcpu->policy->min) { + if (pcpu->target_freq <= pcpu->policy->min) { new_freq = hispeed_freq; } else { new_freq = pcpu->policy->max * cpu_load / 100; |