diff options
author | Peter Oruba <peter.oruba@amd.com> | 2007-07-09 14:35:27 -0400 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2007-07-13 01:29:51 -0400 |
commit | 91973de736bc97dc04156242c5a4b00993b6c902 (patch) | |
tree | 8d94fefd2c2f208e470510a4e607a32d013b969f /drivers/cpufreq | |
parent | aac22d0a79f51d7bd93145be36322baaa4b423f8 (diff) |
[CPUFREQ] bugfix cpufreq in combination with performance governor
There is a frequency scaling issue that I encountered with the performance
governor in combination with CPU hotplug.
In cpufreq.c CPU frequency is reduced to its minimum before the CPU gets
unregistered and set offline. Does that have a particular reason?
Since the (k8-)governor does not monitor CPU frequency that setting also
applies then to the remaining CPU as well and lets the system run on the
lowest frequency although performance is chose as the policy.
Signed-off-by: Peter Oruba <peter.oruba@amd.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 0db9e1bda322..99f9c3c23845 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
@@ -1687,7 +1687,6 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb, | |||
1687 | { | 1687 | { |
1688 | unsigned int cpu = (unsigned long)hcpu; | 1688 | unsigned int cpu = (unsigned long)hcpu; |
1689 | struct sys_device *sys_dev; | 1689 | struct sys_device *sys_dev; |
1690 | struct cpufreq_policy *policy; | ||
1691 | 1690 | ||
1692 | sys_dev = get_cpu_sysdev(cpu); | 1691 | sys_dev = get_cpu_sysdev(cpu); |
1693 | if (sys_dev) { | 1692 | if (sys_dev) { |
@@ -1701,11 +1700,6 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb, | |||
1701 | if (unlikely(lock_policy_rwsem_write(cpu))) | 1700 | if (unlikely(lock_policy_rwsem_write(cpu))) |
1702 | BUG(); | 1701 | BUG(); |
1703 | 1702 | ||
1704 | policy = cpufreq_cpu_data[cpu]; | ||
1705 | if (policy) { | ||
1706 | __cpufreq_driver_target(policy, policy->min, | ||
1707 | CPUFREQ_RELATION_H); | ||
1708 | } | ||
1709 | __cpufreq_remove_dev(sys_dev); | 1703 | __cpufreq_remove_dev(sys_dev); |
1710 | break; | 1704 | break; |
1711 | case CPU_DOWN_FAILED: | 1705 | case CPU_DOWN_FAILED: |