x86: During boot, initialise cpu-numa info for all present CPUs.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 19 May 2010 20:14:57 +0000 (21:14 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 19 May 2010 20:14:57 +0000 (21:14 +0100)
Previously we would skip ones we didn't bring online.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/setup.c

index 34162f6bdbd7286f76f8982360efeec4de316847..845f31d531cdaa9c14eb036d1e6a82b07a516c12 100644 (file)
@@ -1007,15 +1007,13 @@ void __init __start_xen(unsigned long mbi_p)
 
     for_each_present_cpu ( i )
     {
-        if ( num_online_cpus() >= max_cpus )
-            break;
-        if ( !cpu_online(i) )
-            cpu_up(i);
-
         /* Set up cpu_to_node[]. */
         srat_detect_node(i);
         /* Set up node_to_cpumask based on cpu_to_node[]. */
         numa_add_cpu(i);        
+
+        if ( (num_online_cpus() < max_cpus) && !cpu_online(i) )
+            cpu_up(i);
     }
 
     printk("Brought up %ld CPUs\n", (long)num_online_cpus());