Message ID | 20230306040037.20350-7-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | sh: various doc, build, init fixes | expand |
On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote: > Fix SUPERH builds that select SYS_SUPPORTS_NUMA but do not select > SYS_SUPPORTS_SMP and SMP. > > 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") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> > Cc: Yoshinori Sato <ysato@users.sourceforge.jp> > Cc: Rich Felker <dalias@libc.org> > Cc: linux-sh@vger.kernel.org > Cc: stable@vger.kernel.org > --- > v2: skipped > v3: skipped > v4: refresh & resend > > arch/sh/Kconfig | 4 ++++ > 1 file changed, 4 insertions(+) > > diff -- a/arch/sh/Kconfig b/arch/sh/Kconfig > --- a/arch/sh/Kconfig > +++ b/arch/sh/Kconfig > @@ -477,6 +477,8 @@ config CPU_SUBTYPE_SH7722 > select CPU_SHX2 > select ARCH_SHMOBILE > select ARCH_SPARSEMEM_ENABLE > + select SYS_SUPPORTS_SMP > + select SMP > select SYS_SUPPORTS_NUMA > select SYS_SUPPORTS_SH_CMT > select PINCTRL > @@ -487,6 +489,8 @@ config CPU_SUBTYPE_SH7366 > select CPU_SHX2 > select ARCH_SHMOBILE > select ARCH_SPARSEMEM_ENABLE > + select SYS_SUPPORTS_SMP > + select SMP > select SYS_SUPPORTS_NUMA > select SYS_SUPPORTS_SH_CMT > It seems that we need this change for these configurations as well: - config CPU_SHX3 - config CPU_SUBTYPE_SH7785 Although I can trigger a build failure for CPU_SUBTYPE_SH7785 only when setting CONFIG_NUMA=y: CC net/ipv6/addrconf_core.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 I would expect this error to be reproducible for CPU_SHX3 as well when CONFIG_NUMA=y but CONFIG_SMP=n. But for some reason, I am not seeing the error then. Adrian
Hi Randy! On Sun, 2023-03-19 at 21:20 +0100, John Paul Adrian Glaubitz wrote: > On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote: > > Fix SUPERH builds that select SYS_SUPPORTS_NUMA but do not select > > SYS_SUPPORTS_SMP and SMP. > > > > 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") > > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > > Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> > > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> > > Cc: Yoshinori Sato <ysato@users.sourceforge.jp> > > Cc: Rich Felker <dalias@libc.org> > > Cc: linux-sh@vger.kernel.org > > Cc: stable@vger.kernel.org > > --- > > v2: skipped > > v3: skipped > > v4: refresh & resend > > > > arch/sh/Kconfig | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff -- a/arch/sh/Kconfig b/arch/sh/Kconfig > > --- a/arch/sh/Kconfig > > +++ b/arch/sh/Kconfig > > @@ -477,6 +477,8 @@ config CPU_SUBTYPE_SH7722 > > select CPU_SHX2 > > select ARCH_SHMOBILE > > select ARCH_SPARSEMEM_ENABLE > > + select SYS_SUPPORTS_SMP > > + select SMP > > select SYS_SUPPORTS_NUMA > > select SYS_SUPPORTS_SH_CMT > > select PINCTRL > > @@ -487,6 +489,8 @@ config CPU_SUBTYPE_SH7366 > > select CPU_SHX2 > > select ARCH_SHMOBILE > > select ARCH_SPARSEMEM_ENABLE > > + select SYS_SUPPORTS_SMP > > + select SMP > > select SYS_SUPPORTS_NUMA > > select SYS_SUPPORTS_SH_CMT > > > > It seems that we need this change for these configurations as well: > > - config CPU_SHX3 > - config CPU_SUBTYPE_SH7785 > > Although I can trigger a build failure for CPU_SUBTYPE_SH7785 only when > setting CONFIG_NUMA=y: > > CC net/ipv6/addrconf_core.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 > > I would expect this error to be reproducible for CPU_SHX3 as well when > CONFIG_NUMA=y but CONFIG_SMP=n. But for some reason, I am not seeing > the error then. Can you make this change for config CPU_SUBTYPE_SH7785 as well? Then the change should be fine. Adrian
On 3/20/23 13:13, John Paul Adrian Glaubitz wrote: > Hi Randy! > > On Sun, 2023-03-19 at 21:20 +0100, John Paul Adrian Glaubitz wrote: >> On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote: >>> Fix SUPERH builds that select SYS_SUPPORTS_NUMA but do not select >>> SYS_SUPPORTS_SMP and SMP. >>> >>> 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") >>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >>> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> >>> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> >>> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> >>> Cc: Rich Felker <dalias@libc.org> >>> Cc: linux-sh@vger.kernel.org >>> Cc: stable@vger.kernel.org >>> --- >>> v2: skipped >>> v3: skipped >>> v4: refresh & resend >>> >>> arch/sh/Kconfig | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff -- a/arch/sh/Kconfig b/arch/sh/Kconfig >>> --- a/arch/sh/Kconfig >>> +++ b/arch/sh/Kconfig >>> @@ -477,6 +477,8 @@ config CPU_SUBTYPE_SH7722 >>> select CPU_SHX2 >>> select ARCH_SHMOBILE >>> select ARCH_SPARSEMEM_ENABLE >>> + select SYS_SUPPORTS_SMP >>> + select SMP >>> select SYS_SUPPORTS_NUMA >>> select SYS_SUPPORTS_SH_CMT >>> select PINCTRL >>> @@ -487,6 +489,8 @@ config CPU_SUBTYPE_SH7366 >>> select CPU_SHX2 >>> select ARCH_SHMOBILE >>> select ARCH_SPARSEMEM_ENABLE >>> + select SYS_SUPPORTS_SMP >>> + select SMP >>> select SYS_SUPPORTS_NUMA >>> select SYS_SUPPORTS_SH_CMT >>> >> >> It seems that we need this change for these configurations as well: >> >> - config CPU_SHX3 >> - config CPU_SUBTYPE_SH7785 >> >> Although I can trigger a build failure for CPU_SUBTYPE_SH7785 only when >> setting CONFIG_NUMA=y: >> >> CC net/ipv6/addrconf_core.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 >> >> I would expect this error to be reproducible for CPU_SHX3 as well when >> CONFIG_NUMA=y but CONFIG_SMP=n. But for some reason, I am not seeing >> the error then. > > Can you make this change for config CPU_SUBTYPE_SH7785 as well? > > Then the change should be fine. Will do. Thanks.
diff -- a/arch/sh/Kconfig b/arch/sh/Kconfig --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -477,6 +477,8 @@ config CPU_SUBTYPE_SH7722 select CPU_SHX2 select ARCH_SHMOBILE select ARCH_SPARSEMEM_ENABLE + select SYS_SUPPORTS_SMP + select SMP select SYS_SUPPORTS_NUMA select SYS_SUPPORTS_SH_CMT select PINCTRL @@ -487,6 +489,8 @@ config CPU_SUBTYPE_SH7366 select CPU_SHX2 select ARCH_SHMOBILE select ARCH_SPARSEMEM_ENABLE + select SYS_SUPPORTS_SMP + select SMP select SYS_SUPPORTS_NUMA select SYS_SUPPORTS_SH_CMT
Fix SUPERH builds that select SYS_SUPPORTS_NUMA but do not select SYS_SUPPORTS_SMP and SMP. 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") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: linux-sh@vger.kernel.org Cc: stable@vger.kernel.org --- v2: skipped v3: skipped v4: refresh & resend arch/sh/Kconfig | 4 ++++ 1 file changed, 4 insertions(+)