Jan Beulich
2011-Jan-11 09:48 UTC
[Xen-devel] [PATCH, 4.0] x86: don''t crash when a CPU cannot be brought online
x86_cpu_to_apicid[] gets set to BAD_APICID when bringup of a secondary CPU fails, yet srat_detect_node() wants to use this as array index. An alternative would be to backport -unstable c/s 21436:b127760a4725. Signed-off-by: Jan Beulich <jbeulich@novell.com> --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1098,10 +1098,13 @@ void __init __start_xen(unsigned long mb __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 ( cpu_online(i) ) + { + /* Set up cpu_to_node[]. */ + srat_detect_node(i); + /* Set up node_to_cpumask based on cpu_to_node[]. */ + numa_add_cpu(i); + } } printk("Brought up %ld CPUs\n", (long)num_online_cpus()); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel