On Tue, Mar 21, 2023 at 9:19 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz > <glaubitz@xxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, 2023-03-21 at 08:55 +0100, Geert Uytterhoeven wrote: > > > On Tue, Mar 21, 2023 at 12:13 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > > > > Fix SUPERH builds that select SYS_SUPPORTS_NUMA but do not select > > > > SYS_SUPPORTS_SMP and SMP. > > > > > > Perhaps because these SoCs do not support SMP? > > > > Well, there is actually a dual-core 7786 board available, see: > > > > > https://www.apnet.co.jp/product/superh/ap-sh4ad-0a.html > > > > Quoting: > > > > »The SH7786 is equipped with a dual-core SH-4A and has interfaces such as > > DDR3 SDRAM, PCI Express, USB, and display unit.« > > > > I seem to remember that Oleg Endo had such a dual-core SH4A board. > > > > Also, the Sega Saturn had two SH-2 CPUs: > > > > > https://en.wikipedia.org/wiki/Sega_Saturn#Technical_specifications > > But these are not the Kconfig entries changed by Randy's patch. > > > > > kernel/sched/topology.c is only built for CONFIG_SMP and then the NUMA > > > > code + data inside topology.c is only built when CONFIG_NUMA is > > > > set/enabled, so these arch/sh/ configs need to select SMP and > > > > SYS_SUPPORTS_SMP to build the NUMA support. > > > > > > > > Fixes this build error in multiple SUPERH configs: > > > > > > > > mm/page_alloc.o: In function `get_page_from_freelist': > > > > page_alloc.c:(.text+0x2ca8): undefined reference to `node_reclaim_distance' > > > > > > > > Fixes: 357d59469c11 ("sh: Tidy up dependencies for SH-2 build.") > > > > Fixes: 9109a30e5a54 ("sh: add support for sh7366 processor") > > > > Fixes: 55ba99eb211a ("sh: Add support for SH7786 CPU subtype.") > > > > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > > > > > > > --- a/arch/sh/Kconfig > > > > +++ b/arch/sh/Kconfig > > > > @@ -442,6 +442,8 @@ config CPU_SUBTYPE_SH7785 > > > > select CPU_SHX2 > > > > select ARCH_SPARSEMEM_ENABLE > > > > select SYS_SUPPORTS_NUMA > > > > + select SYS_SUPPORTS_SMP > > > > + select SMP > > > > > > SH7785 is single-core. > > > > > > > select PINCTRL > > > > > > > > config CPU_SUBTYPE_SH7786 > > > > @@ -476,6 +478,8 @@ config CPU_SUBTYPE_SH7722 > > > > select CPU_SHX2 > > > > select ARCH_SHMOBILE > > > > select ARCH_SPARSEMEM_ENABLE > > > > + select SYS_SUPPORTS_SMP > > > > + select SMP > > > > > > SH7722 is single-core. > > > > > > > select SYS_SUPPORTS_NUMA > > > > select SYS_SUPPORTS_SH_CMT > > > > select PINCTRL > > > > @@ -486,6 +490,8 @@ config CPU_SUBTYPE_SH7366 > > > > select CPU_SHX2 > > > > select ARCH_SHMOBILE > > > > select ARCH_SPARSEMEM_ENABLE > > > > + select SYS_SUPPORTS_SMP > > > > + select SMP > > > > > > Dunno about this one (no public info available). > > > > > > > select SYS_SUPPORTS_NUMA > > > > select SYS_SUPPORTS_SH_CMT > > > > > > Wasn't this fixed by commit 61bb6cd2f765b90c ("mm: move > > > node_reclaim_distance to fix NUMA without SMP") in v5.16? > > > > > > It is not sufficient, after that you run into: > > > > > > mm/slab.c: In function ‘slab_memory_callback’: > > > mm/slab.c:1127:23: error: implicit declaration of function > > > ‘init_cache_node_node’; did you mean ‘drain_cache_node_node’? > > > [-Werror=implicit-function-declaration] > > > 1127 | ret = init_cache_node_node(nid); > > > > > > which you reported before in > > > https://lore.kernel.org/all/b5bdea22-ed2f-3187-6efe-0c72330270a4@xxxxxxxxxxxxx/ > > > > Without the patch, I am getting: > > > > CC fs/fat/nfs.o > > mm/slab.c: In function 'slab_memory_callback': > > mm/slab.c:1127:23: error: implicit declaration of function 'init_cache_node_node'; did you mean 'drain_cache_node_node'? [-Werror=implicit-function-declaration] > > 1127 | ret = init_cache_node_node(nid); > > | ^~~~~~~~~~~~~~~~~~~~ > > | drain_cache_node_node > > Which is a different error than in this patch description? > I am preparing a fix... https://lore.kernel.org/67261c513706241d479b8b4cf46eb4e6fb0417ba.1679387262.git.geert+renesas@xxxxxxxxx Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds