diff options
author | Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com> | 2016-04-08 15:50:27 -0700 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-04-15 18:06:09 +0100 |
commit | 1a2db300348b799479d2d22b84d51b27ad0458c7 (patch) | |
tree | c9e3329f00575143dae72e14725b9e48161e34d7 /arch/arm64/kernel/smp.c | |
parent | 3194ac6e66cc7a00c1fa9fecf33a7c376b489497 (diff) | |
download | lwn-1a2db300348b799479d2d22b84d51b27ad0458c7.tar.gz lwn-1a2db300348b799479d2d22b84d51b27ad0458c7.zip |
arm64, numa: Add NUMA support for arm64 platforms.
Attempt to get the memory and CPU NUMA node via of_numa. If that
fails, default the dummy NUMA node and map all memory and CPUs to node
0.
Tested-by: Shannon Zhao <shannon.zhao@linaro.org>
Reviewed-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/smp.c')
-rw-r--r-- | arch/arm64/kernel/smp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 5fbab1c40424..622bd6cd86e4 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -45,6 +45,7 @@ #include <asm/cputype.h> #include <asm/cpu_ops.h> #include <asm/mmu_context.h> +#include <asm/numa.h> #include <asm/pgtable.h> #include <asm/pgalloc.h> #include <asm/processor.h> @@ -203,6 +204,7 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle) static void smp_store_cpu_info(unsigned int cpuid) { store_cpu_topology(cpuid); + numa_store_cpu_info(cpuid); } /* @@ -633,6 +635,8 @@ static void __init of_parse_and_init_cpus(void) pr_debug("cpu logical map 0x%llx\n", hwid); cpu_logical_map(cpu_count) = hwid; + + early_map_cpu_to_node(cpu_count, of_node_to_nid(dn)); next: cpu_count++; } |