[PATCH] for_each_possible_cpu: ppc
authorKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Tue, 28 Mar 2006 22:50:52 +0000 (14:50 -0800)
committerPaul Mackerras <paulus@samba.org>
Wed, 29 Mar 2006 02:44:16 +0000 (13:44 +1100)
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 <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/ppc/kernel/setup.c
arch/ppc/kernel/smp.c

index 7eb91a2e818ad54246134f4b0ff4088c2ef417cb..1f79e84ab464dd8a416eaab3d104e8aff11ea6d5 100644 (file)
@@ -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 */
index e55cdda6149a1f1e189012a1b79c542477a008a9..f77795a64daed9628c50b5885831377954c8006e 100644 (file)
@@ -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 */