The percpu set up code has been moved out of arch_numa.c, so it is unnecessary to have percpu related kernel configs depend on NUMA. Signed-off-by: Yang Shi --- arch/arm64/Kconfig | 6 +++--- arch/arm64/kernel/smp.c | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index b3afe0688919..2e1bd79a579c 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -224,6 +224,7 @@ config ARM64 select MMU_GATHER_RCU_TABLE_FREE select HAVE_RSEQ select HAVE_RUST if RUSTC_SUPPORTS_ARM64 + select HAVE_SETUP_PER_CPU_AREA select HAVE_STACKPROTECTOR select HAVE_STATIC_CALL if CFI select HAVE_SYSCALL_TRACEPOINTS @@ -239,6 +240,8 @@ config ARM64 select LOCK_MM_AND_FIND_VMA select MODULES_USE_ELF_RELA select NEED_DMA_MAP_STATE + select NEED_PER_CPU_EMBED_FIRST_CHUNK + select NEED_PER_CPU_PAGE_FIRST_CHUNK select NEED_SG_DMA_LENGTH select OF select OF_EARLY_FLATTREE @@ -1581,9 +1584,6 @@ config NUMA bool "NUMA Memory Allocation and Scheduler Support" select GENERIC_ARCH_NUMA select OF_NUMA - select HAVE_SETUP_PER_CPU_AREA - select NEED_PER_CPU_EMBED_FIRST_CHUNK - select NEED_PER_CPU_PAGE_FIRST_CHUNK select USE_PERCPU_NUMA_NODE_ID help Enable NUMA (Non-Uniform Memory Access) support. diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 0dab4e9c97e4..28ff889658d3 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -819,16 +819,18 @@ void __init smp_prepare_cpus(unsigned int max_cpus) } } -#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA +#ifdef CONFIG_NUMA extern int cpu_to_node_map[NR_CPUS]; -unsigned long __per_cpu_offset[NR_CPUS] __read_mostly; -EXPORT_SYMBOL(__per_cpu_offset); - int early_cpu_to_node(int cpu) { return cpu_to_node_map[cpu]; } +#endif + +#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA +unsigned long __per_cpu_offset[NR_CPUS] __read_mostly; +EXPORT_SYMBOL(__per_cpu_offset); static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) { -- 2.47.0