mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 12:49:08 +00:00
x86, numa: Fix numa_emulation code with memory-less node0
This crash happens on a system that does not have RAM on node0. When numa_emulation is compiled in, and: 1. we boot the system without numa=fake... 2. or we boot the system with numa=fake=128 to make emulation fail we will get: [ 0.076025] ------------[ cut here ]------------ [ 0.080004] kernel BUG at arch/x86/mm/numa_64.c:788! [ 0.080004] invalid opcode: 0000 [#1] SMP [...] need to use early_cpu_to_node() directly, because cpu_to_apicid and apicid_to_node will return node0 that is not onlined. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Acked-by: Tejun Heo <tj@kernel.org> Cc: David Rientjes <rientjes@google.com> LKML-Reference: <4D6ECF72.5010308@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
6670e9cdaf
commit
3b28cf32cc
@ -780,11 +780,7 @@ void __cpuinit numa_add_cpu(int cpu)
|
||||
int physnid;
|
||||
int nid = NUMA_NO_NODE;
|
||||
|
||||
apicid = early_per_cpu(x86_cpu_to_apicid, cpu);
|
||||
if (apicid != BAD_APICID)
|
||||
nid = apicid_to_node[apicid];
|
||||
if (nid == NUMA_NO_NODE)
|
||||
nid = early_cpu_to_node(cpu);
|
||||
nid = early_cpu_to_node(cpu);
|
||||
BUG_ON(nid == NUMA_NO_NODE || !node_online(nid));
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user