riscv: cpu-hotplug: clear cpu from numa map when teardown
authorPingfan Liu <kernelfans@gmail.com>
Sun, 23 Jan 2022 12:13:52 +0000 (20:13 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 10 Feb 2022 17:16:50 +0000 (09:16 -0800)
There is numa_add_cpu() when cpus online, accordingly, there should be
numa_remove_cpu() when cpus offline.

Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
Fixes: 4f0e8eef772e ("riscv: Add numa support for riscv64 platform")
Cc: stable@vger.kernel.org
[Palmer: Add missing NUMA include]
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/kernel/cpu-hotplug.c

index be7f05b542bbdb5902c2324fd564402791fcb755..f7a832e3a1d1d44f0568a5f7336eb587092d85a0 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/sched/hotplug.h>
 #include <asm/irq.h>
 #include <asm/cpu_ops.h>
+#include <asm/numa.h>
 #include <asm/sbi.h>
 
 bool cpu_has_hotplug(unsigned int cpu)
@@ -40,6 +41,7 @@ int __cpu_disable(void)
                return ret;
 
        remove_cpu_topology(cpu);
+       numa_remove_cpu(cpu);
        set_cpu_online(cpu, false);
        irq_migrate_all_off_this_cpu();