diff options
author | Dave Jones <davej@redhat.com> | 2005-05-31 22:03:49 -0400 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2005-05-31 22:03:49 -0400 |
commit | 790d76fa979f55bfc49a6901bb911778949b582d (patch) | |
tree | e437734bbdd08656a569feddae15207b3ae6327c /drivers/cpufreq | |
parent | dac1c1a56279b4545a822ec7bc770003c233e546 (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/cpufreq')
-rw-r--r-- | drivers/cpufreq/cpufreq_conservative.c | 8 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_ondemand.c | 8 |
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; |