aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/cpufreq.c
diff options
context:
space:
mode:
authorPeter Oruba <peter.oruba@amd.com>2007-07-09 14:35:27 -0400
committerDave Jones <davej@redhat.com>2007-07-13 01:29:51 -0400
commit91973de736bc97dc04156242c5a4b00993b6c902 (patch)
tree8d94fefd2c2f208e470510a4e607a32d013b969f /drivers/cpufreq/cpufreq.c
parentaac22d0a79f51d7bd93145be36322baaa4b423f8 (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/cpufreq.c')
-rw-r--r--drivers/cpufreq/cpufreq.c6
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: