x86: change NR_CPUS arrays in topology
authortravis@sgi.com <travis@sgi.com>
Wed, 30 Jan 2008 12:33:11 +0000 (13:33 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:33:11 +0000 (13:33 +0100)
Change the following static arrays sized by NR_CPUS to
per_cpu data variables:

i386_cpu cpu_devices[NR_CPUS];

(And change the struct name to x86_cpu.)

Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/topology.c
include/asm-x86/cpu.h

index 7e16d67..a0d1719 100644 (file)
@@ -31,7 +31,7 @@
 #include <linux/mmzone.h>
 #include <asm/cpu.h>
 
-static struct i386_cpu cpu_devices[NR_CPUS];
+static DEFINE_PER_CPU(struct x86_cpu, cpu_devices);
 
 int __cpuinit arch_register_cpu(int num)
 {
@@ -46,16 +46,16 @@ int __cpuinit arch_register_cpu(int num)
         */
 #ifdef CONFIG_HOTPLUG_CPU
        if (num)
-               cpu_devices[num].cpu.hotpluggable = 1;
+               per_cpu(cpu_devices, num).cpu.hotpluggable = 1;
 #endif
 
-       return register_cpu(&cpu_devices[num].cpu, num);
+       return register_cpu(&per_cpu(cpu_devices, num).cpu, num);
 }
 
 #ifdef CONFIG_HOTPLUG_CPU
 void arch_unregister_cpu(int num)
 {
-       return unregister_cpu(&cpu_devices[num].cpu);
+       return unregister_cpu(&per_cpu(cpu_devices, num).cpu);
 }
 EXPORT_SYMBOL(arch_register_cpu);
 EXPORT_SYMBOL(arch_unregister_cpu);
index b1bc7b1..85ece5f 100644 (file)
@@ -7,7 +7,7 @@
 #include <linux/nodemask.h>
 #include <linux/percpu.h>
 
-struct i386_cpu {
+struct x86_cpu {
        struct cpu cpu;
 };
 extern int arch_register_cpu(int num);