From: Yinghai Lu For opteron based system, don't assume all physical cpus have the same booted cpus even same cores. esp for downcore case. Signed-off-by: Yinghai Lu Signed-off-by: Andrew Morton --- arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 7 +------ 1 files changed, 1 insertion(+), 6 deletions(-) diff -puN arch/i386/kernel/cpu/cpufreq/powernow-k8.c~x86-use-num_online_nodes-to-get-physical-cpus-numbers-for arch/i386/kernel/cpu/cpufreq/powernow-k8.c --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c~x86-use-num_online_nodes-to-get-physical-cpus-numbers-for +++ a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c @@ -1327,21 +1327,16 @@ static struct cpufreq_driver cpufreq_amd static int __cpuinit powernowk8_init(void) { unsigned int i, supported_cpus = 0; - unsigned int booted_cores = 1; for_each_online_cpu(i) { if (check_supported_cpu(i)) supported_cpus++; } -#ifdef CONFIG_SMP - booted_cores = cpu_data[0].booted_cores; -#endif - if (supported_cpus == num_online_cpus()) { printk(KERN_INFO PFX "Found %d %s " "processors (%d cpu cores) (" VERSION ")\n", - supported_cpus/booted_cores, + num_online_nodes(), boot_cpu_data.x86_model_id, supported_cpus); return cpufreq_register_driver(&cpufreq_amd64_driver); } _