aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2005-05-31 22:03:49 -0400
committerDave Jones <davej@redhat.com>2005-05-31 22:03:49 -0400
commit790d76fa979f55bfc49a6901bb911778949b582d (patch)
treee437734bbdd08656a569feddae15207b3ae6327c /drivers
parentdac1c1a56279b4545a822ec7bc770003c233e546 (diff)
[CPUFREQ] ondemand,conservative governor store the idle ticks for all cpus
[PATCH] [2/5] ondemand,conservative governor store the idle ticks for all cpus Ondemand, conservative governor did not store prev_cpu_idle_up into prev_cpu_idle_down for other CPUs than the current CPU. Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/cpufreq/cpufreq_conservative.c8
-rw-r--r--drivers/cpufreq/cpufreq_ondemand.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c
index 3082a3fa5ec4..c503ec14765f 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -369,7 +369,13 @@ static void dbs_check_cpu(int cpu)
369 369
370 if (idle_ticks < up_idle_ticks) { 370 if (idle_ticks < up_idle_ticks) {
371 down_skip[cpu] = 0; 371 down_skip[cpu] = 0;
372 this_dbs_info->prev_cpu_idle_down = total_idle_ticks; 372 for_each_cpu_mask(j, policy->cpus) {
373 struct cpu_dbs_info_s *j_dbs_info;
374
375 j_dbs_info = &per_cpu(cpu_dbs_info, j);
376 j_dbs_info->prev_cpu_idle_down =
377 j_dbs_info->prev_cpu_idle_up;
378 }
373 /* if we are already at full speed then break out early */ 379 /* if we are already at full speed then break out early */
374 if (requested_freq[cpu] == policy->max) 380 if (requested_freq[cpu] == policy->max)
375 return; 381 return;
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
index 26cf54b11ba6..f239545ac1b8 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -355,7 +355,13 @@ static void dbs_check_cpu(int cpu)
355 355
356 if (idle_ticks < up_idle_ticks) { 356 if (idle_ticks < up_idle_ticks) {
357 down_skip[cpu] = 0; 357 down_skip[cpu] = 0;
358 this_dbs_info->prev_cpu_idle_down = total_idle_ticks; 358 for_each_cpu_mask(j, policy->cpus) {
359 struct cpu_dbs_info_s *j_dbs_info;
360
361 j_dbs_info = &per_cpu(cpu_dbs_info, j);
362 j_dbs_info->prev_cpu_idle_down =
363 j_dbs_info->prev_cpu_idle_up;
364 }
359 /* if we are already at full speed then break out early */ 365 /* if we are already at full speed then break out early */
360 if (policy->cur == policy->max) 366 if (policy->cur == policy->max)
361 return; 367 return;