OSDN Git Service

MIPS: Use memblock_add_node() in early_parse_mem() under CONFIG_NUMA
authorTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 24 May 2022 02:27:50 +0000 (10:27 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 24 May 2022 11:05:08 +0000 (13:05 +0200)
Use memblock_add_node to add new memblock region within a NUMA node
in early_parse_mem() under CONFIG_NUMA, otherwise the mem parameter
can not work well.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/kernel/setup.c

index 1c7f916..2ca156a 100644 (file)
@@ -37,6 +37,7 @@
 #include <asm/cdmm.h>
 #include <asm/cpu.h>
 #include <asm/debug.h>
+#include <asm/mmzone.h>
 #include <asm/sections.h>
 #include <asm/setup.h>
 #include <asm/smp-ops.h>
@@ -364,7 +365,10 @@ static int __init early_parse_mem(char *p)
        if (*p == '@')
                start = memparse(p + 1, &p);
 
-       memblock_add(start, size);
+       if (IS_ENABLED(CONFIG_NUMA))
+               memblock_add_node(start, size, pa_to_nid(start), MEMBLOCK_NONE);
+       else
+               memblock_add(start, size);
 
        return 0;
 }