x86/acpi: Set persistent cpuid <-> nodeid mapping when booting
authorGu Zheng <[email protected]>
Thu, 25 Aug 2016 08:35:18 +0000 (16:35 +0800)
committerThomas Gleixner <[email protected]>
Wed, 21 Sep 2016 19:18:39 +0000 (21:18 +0200)
commitdc6db24d2476cd09c0ecf2b8d80313539f737a89
treea42cb20e94757560eeabaf8ebe800254e166e8b2
parent8ad893faf2eaedb710a3073afbb5d569df2c3e41
x86/acpi: Set persistent cpuid <-> nodeid mapping when booting

The whole patch-set aims at making cpuid <-> nodeid mapping persistent. So that,
when node online/offline happens, cache based on cpuid <-> nodeid mapping such as
wq_numa_possible_cpumask will not cause any problem.
It contains 4 steps:
1. Enable apic registeration flow to handle both enabled and disabled cpus.
2. Introduce a new array storing all possible cpuid <-> apicid mapping.
3. Enable _MAT and MADT relative apis to return non-present or disabled cpus' apicid.
4. Establish all possible cpuid <-> nodeid mapping.

This patch finishes step 4.

This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.

[ tglx: Remove the unneeded exports ]

Signed-off-by: Gu Zheng <[email protected]>
Signed-off-by: Tang Chen <[email protected]>
Signed-off-by: Zhu Guihua <[email protected]>
Signed-off-by: Dou Liyang <[email protected]>
Acked-by: Ingo Molnar <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
arch/ia64/kernel/acpi.c
arch/x86/kernel/acpi/boot.c
drivers/acpi/acpi_processor.c
drivers/acpi/bus.c
drivers/acpi/processor_core.c
include/linux/acpi.h