diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-05-08 17:59:58 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-05-08 17:59:58 -0400 |
commit | d7be0ce6afb1df60bc786f57410407ceae92b994 (patch) | |
tree | 5e91acfc12c833531ad3320f274e0cd96a129973 /drivers/cpufreq/cpufreq_conservative.c | |
parent | e08cae4181af9483b04ecfac48f01c8e5a5f27bf (diff) | |
parent | 66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8 (diff) |
Merge commit 'v2.6.34-rc6' into x86/cpu
Diffstat (limited to 'drivers/cpufreq/cpufreq_conservative.c')
-rw-r--r-- | drivers/cpufreq/cpufreq_conservative.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c index ce5248e04218..526bfbf69611 100644 --- a/drivers/cpufreq/cpufreq_conservative.c +++ b/drivers/cpufreq/cpufreq_conservative.c | |||
@@ -428,6 +428,7 @@ static struct attribute_group dbs_attr_group_old = { | |||
428 | static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) | 428 | static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) |
429 | { | 429 | { |
430 | unsigned int load = 0; | 430 | unsigned int load = 0; |
431 | unsigned int max_load = 0; | ||
431 | unsigned int freq_target; | 432 | unsigned int freq_target; |
432 | 433 | ||
433 | struct cpufreq_policy *policy; | 434 | struct cpufreq_policy *policy; |
@@ -485,6 +486,9 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) | |||
485 | continue; | 486 | continue; |
486 | 487 | ||
487 | load = 100 * (wall_time - idle_time) / wall_time; | 488 | load = 100 * (wall_time - idle_time) / wall_time; |
489 | |||
490 | if (load > max_load) | ||
491 | max_load = load; | ||
488 | } | 492 | } |
489 | 493 | ||
490 | /* | 494 | /* |
@@ -495,7 +499,7 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) | |||
495 | return; | 499 | return; |
496 | 500 | ||
497 | /* Check for frequency increase */ | 501 | /* Check for frequency increase */ |
498 | if (load > dbs_tuners_ins.up_threshold) { | 502 | if (max_load > dbs_tuners_ins.up_threshold) { |
499 | this_dbs_info->down_skip = 0; | 503 | this_dbs_info->down_skip = 0; |
500 | 504 | ||
501 | /* if we are already at full speed then break out early */ | 505 | /* if we are already at full speed then break out early */ |
@@ -522,7 +526,7 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) | |||
522 | * can support the current CPU usage without triggering the up | 526 | * can support the current CPU usage without triggering the up |
523 | * policy. To be safe, we focus 10 points under the threshold. | 527 | * policy. To be safe, we focus 10 points under the threshold. |
524 | */ | 528 | */ |
525 | if (load < (dbs_tuners_ins.down_threshold - 10)) { | 529 | if (max_load < (dbs_tuners_ins.down_threshold - 10)) { |
526 | freq_target = (dbs_tuners_ins.freq_step * policy->max) / 100; | 530 | freq_target = (dbs_tuners_ins.freq_step * policy->max) / 100; |
527 | 531 | ||
528 | this_dbs_info->requested_freq -= freq_target; | 532 | this_dbs_info->requested_freq -= freq_target; |