Re: [PATCH -next] RISCV: Add some depends for NUMA

From: Kefeng Wang
Date: Fri Feb 05 2021 - 02:54:09 EST



On 2021/2/5 14:58, Palmer Dabbelt wrote:
On Wed, 03 Feb 2021 06:23:43 PST (-0800), wangkefeng.wang@xxxxxxxxxx wrote:
The numa feature is useless for riscv32 platform(MAXPHYSMEM_1GB if 32bit),

I'm not convinced of that.  There's no reason NUMA shouldn't work on 32-bit, it
doesn't depend on having a large amount of memory just having non-uniform
memory.  I could buy the argument that build a 32-bit NUMA system would be
wacky, but IIUC it works now and I don't see any reason to throw that away.

I think the RV32 won't benefit from NUMA, there's no too much memory support on RV32,

and it may increase the Image size,  so I decided to drop support for RV32.


and it should depends on SMP feature, this also fix the build error,

I can buy that CONFIG_NUMA doesn't really make sense without CONFIG_SMP, as
there's not a whole lot to do, but I also don't see any reason from disallowing
users from picking it.  arm64 allows !SMP && NUMA, and I don't see any reason
it wouldn't work just as well for us.

ARM64 won' support !SMP after following patch, and for most architecture,  the NUMA feature

depends or select SMP feature.


commit 4b3dc9679cf779339d9049800803dfc3c83433d1
Author: Will Deacon <will@xxxxxxxxxx>
Date:   Fri May 29 18:28:44 2015 +0100

    arm64: force CONFIG_SMP=y and remove redundant #ifdefs




  riscv64-buildroot-linux-gnu-ld: mm/page_alloc.o: in function `.L0 ':
  page_alloc.c:(.text+0x4808): undefined reference to `node_reclaim_distance'

The only instance of node_reclaim_distance I see in mm/page_alloc.c is already
guarded with CONFIG_NUMA, but the definition of node_reclaim_distance isn't.
I'll send out some patches to add the guard which might make sorting this out
earlier, but I don't see it fixing any failures.