Просмотр исходного кода

[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 <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
KAMEZAWA Hiroyuki 19 лет назад
Родитель
Сommit
b848e0a07d
2 измененных файлов с 2 добавлено и 2 удалено
  1. 1 1
      arch/ppc/kernel/setup.c
  2. 1 1
      arch/ppc/kernel/smp.c

+ 1 - 1
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 */

+ 1 - 1
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 */