From: KAMEZAWA Hiroyuki Date: Tue, 28 Mar 2006 22:50:52 +0000 (-0800) Subject: [PATCH] for_each_possible_cpu: ppc X-Git-Tag: v2.6.17-rc1~165^2~3 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b848e0a07dd5a874821bb587bb724fac4aa45bad;p=linux-2.6 [PATCH] for_each_possible_cpu: ppc for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras --- diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c index 7eb91a2e81..1f79e84ab4 100644 --- a/arch/ppc/kernel/setup.c +++ b/arch/ppc/kernel/setup.c @@ -474,7 +474,7 @@ int __init ppc_init(void) if ( ppc_md.progress ) ppc_md.progress(" ", 0xffff); /* register CPU devices */ - for_each_cpu(i) + for_each_possible_cpu(i) register_cpu(&cpu_devices[i], i, NULL); /* call platform init */ diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c index e55cdda614..f77795a64d 100644 --- a/arch/ppc/kernel/smp.c +++ b/arch/ppc/kernel/smp.c @@ -311,7 +311,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) /* Backup CPU 0 state */ __save_cpu_setup(); - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) { if (cpu == smp_processor_id()) continue; /* create a process for the processor */