]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/ia64/mm/discontig.c
[IA64] support for cpu0 removal
[net-next-2.6.git] / arch / ia64 / mm / discontig.c
index c87d6d1d58130411828e2daef886398ced41d93d..573d5cc63e2b927eaf0791833018b8643172d64d 100644 (file)
@@ -528,12 +528,17 @@ void __init find_memory(void)
 void *per_cpu_init(void)
 {
        int cpu;
+       static int first_time = 1;
+
 
        if (smp_processor_id() != 0)
                return __per_cpu_start + __per_cpu_offset[smp_processor_id()];
 
-       for (cpu = 0; cpu < NR_CPUS; cpu++)
-               per_cpu(local_per_cpu_offset, cpu) = __per_cpu_offset[cpu];
+       if (first_time) {
+               first_time = 0;
+               for (cpu = 0; cpu < NR_CPUS; cpu++)
+                       per_cpu(local_per_cpu_offset, cpu) = __per_cpu_offset[cpu];
+       }
 
        return __per_cpu_start + __per_cpu_offset[smp_processor_id()];
 }