diff options
Diffstat (limited to 'arch/x86/kernel/cpu/intel.c')
| -rw-r--r-- | arch/x86/kernel/cpu/intel.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index 40e1835b35e..c900b73f922 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c @@ -263,8 +263,12 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)  	/* Don't do the funky fallback heuristics the AMD version employs  	   for now. */  	node = apicid_to_node[apicid]; -	if (node == NUMA_NO_NODE || !node_online(node)) +	if (node == NUMA_NO_NODE)  		node = first_node(node_online_map); +	else if (!node_online(node)) { +		/* reuse the value from init_cpu_to_node() */ +		node = cpu_to_node(cpu); +	}  	numa_set_node(cpu, node);  	printk(KERN_INFO "CPU %d/0x%x -> Node %d\n", cpu, apicid, node);  |