mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-17 23:15:52 +00:00
x86-32, NUMA: Automatically set apicid -> node in setup_local_APIC()
Some x86-32 NUMA implementations (NUMAQ) don't initialize apicid -> node mapping using set_apicid_to_node() during NUMA init but implement custom apic->x86_32_numa_cpu_node() instead. This patch automatically initializes the default apic -> node mapping table from apic->x86_32_numa_cpu_node() from setup_local_APIC() such that the mapping table is in sync with the actual mapping. As the table isn't used by custom implementations, this doesn't make any difference at this point. This is in preparation of unifying numa_cpu_node() between x86-32 and 64. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com>
This commit is contained in:
parent
acd26d611e
commit
c4b90c1199
@ -1237,6 +1237,16 @@ void __cpuinit setup_local_APIC(void)
|
||||
/* always use the value from LDR */
|
||||
early_per_cpu(x86_cpu_to_logical_apicid, cpu) =
|
||||
logical_smp_processor_id();
|
||||
|
||||
/*
|
||||
* Some NUMA implementations (NUMAQ) don't initialize apicid to
|
||||
* node mapping during NUMA init. Now that logical apicid is
|
||||
* guaranteed to be known, give it another chance. This is already
|
||||
* a bit too late - percpu allocation has already happened without
|
||||
* proper NUMA affinity.
|
||||
*/
|
||||
set_apicid_to_node(early_per_cpu(x86_cpu_to_apicid, cpu),
|
||||
apic->x86_32_numa_cpu_node(cpu));
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user