[6/7,v5] sh: fix Kconfig entry for NUMA => SMP

Message ID 20230320231310.28841-1-rdunlap@infradead.org
State New
Headers
Series None |

Commit Message

Randy Dunlap March 20, 2023, 11:13 p.m. UTC
  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")
Fixes: 55ba99eb211a ("sh: Add support for SH7786 CPU subtype.")
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: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Cc: linux-sh@vger.kernel.org
Cc: stable@vger.kernel.org
---
v2: skipped
v3: skipped
v4: refresh & resend
v5: include CPU_SUBTYPE_SH7785 in this patch (Adrian)

 arch/sh/Kconfig |    6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Geert Uytterhoeven March 21, 2023, 7:55 a.m. UTC | #1
Hi Randy,

Thanks for your patch!

On Tue, Mar 21, 2023 at 12:13 AM Randy Dunlap <rdunlap@infradead.org> 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?

> 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@infradead.org>

> --- 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@infradead.org/

Gr{oetje,eeting}s,

                        Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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
  
John Paul Adrian Glaubitz March 21, 2023, 8:10 a.m. UTC | #2
Hi Geert!

On Tue, 2023-03-21 at 08:55 +0100, Geert Uytterhoeven wrote:
> On Tue, Mar 21, 2023 at 12:13 AM Randy Dunlap <rdunlap@infradead.org> 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

> > 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@infradead.org>
> 
> > --- 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@infradead.org/

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

with make sh7785lcr_defconfig and CONFIG_NUMA=y.

With the patch, it builds fine for me.

FWIW, I just realized we need this for config CPU_SUBTYPE_SH7786 as well.

Adrian
  
Geert Uytterhoeven March 21, 2023, 8:19 a.m. UTC | #3
Hi Adrian,

On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> 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@infradead.org> 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@infradead.org>
> >
> > > --- 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@infradead.org/
>
> 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...

Gr{oetje,eeting}s,

                        Geert
  
Geert Uytterhoeven March 21, 2023, 8:32 a.m. UTC | #4
On Tue, Mar 21, 2023 at 9:19 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz
> <glaubitz@physik.fu-berlin.de> 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@infradead.org> 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@infradead.org>
> > >
> > > > --- 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@infradead.org/
> >
> > 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@glider.be

Gr{oetje,eeting}s,

                        Geert
  
D. Jeff Dionne March 21, 2023, 8:38 a.m. UTC | #5
On Mar 21, 2023, at 17:12, John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:

> Also, the Sega Saturn had two SH-2 CPUs

New hardware that runs linux is generally/all J2 SMP (dual core sh2 class).

J.
  
Geert Uytterhoeven March 21, 2023, 8:42 a.m. UTC | #6
Hi Adrian,

On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> 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@infradead.org> 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.«

SH7786 is dual-core...

> FWIW, I just realized we need this for config CPU_SUBTYPE_SH7786 as well.

... and CPU_SUBTYPE_SH7786 selects CPU_SHX3, which selects
SYS_SUPPORTS_SMP and SYS_SUPPORTS_NUMA in turn.
So everything is fine for SH7786.

Gr{oetje,eeting}s,

                        Geert
  
John Paul Adrian Glaubitz March 21, 2023, 8:45 a.m. UTC | #7
Hi Geert!

On Tue, 2023-03-21 at 09:42 +0100, Geert Uytterhoeven wrote:
> Hi Adrian,
> 
> On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz
> <glaubitz@physik.fu-berlin.de> 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@infradead.org> 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.«
> 
> SH7786 is dual-core...
> 
> > FWIW, I just realized we need this for config CPU_SUBTYPE_SH7786 as well.
> 
> ... and CPU_SUBTYPE_SH7786 selects CPU_SHX3, which selects
> SYS_SUPPORTS_SMP and SYS_SUPPORTS_NUMA in turn.
> So everything is fine for SH7786.

Yeah, this explains it then. Your new patch is definitely the better approach
and I would prefer it over Randy's suggested change. Let's see what the mm
maintainers have to say.

Thanks,
Adrian
  
Geert Uytterhoeven March 21, 2023, 8:47 a.m. UTC | #8
Hi Adrian,

On Tue, Mar 21, 2023 at 9:45 AM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> wrote:
> On Tue, 2023-03-21 at 09:42 +0100, Geert Uytterhoeven wrote:
> > On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz
> > <glaubitz@physik.fu-berlin.de> 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@infradead.org> 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.«
> >
> > SH7786 is dual-core...
> >
> > > FWIW, I just realized we need this for config CPU_SUBTYPE_SH7786 as well.
> >
> > ... and CPU_SUBTYPE_SH7786 selects CPU_SHX3, which selects
> > SYS_SUPPORTS_SMP and SYS_SUPPORTS_NUMA in turn.
> > So everything is fine for SH7786.
>
> Yeah, this explains it then. Your new patch is definitely the better approach
> and I would prefer it over Randy's suggested change. Let's see what the mm
> maintainers have to say.

I'm sure the missed condition was just an oversight, so I expect no
objections.

Gr{oetje,eeting}s,

                        Geert
  
John Paul Adrian Glaubitz March 21, 2023, 3:15 p.m. UTC | #9
Hi Geert!

On Tue, 2023-03-21 at 09:47 +0100, Geert Uytterhoeven wrote:
> > Yeah, this explains it then. Your new patch is definitely the better approach
> > and I would prefer it over Randy's suggested change. Let's see what the mm
> > maintainers have to say.
> 
> I'm sure the missed condition was just an oversight, so I expect no
> objections.

And you were right, of course. We can drop Randy's patch then, but I'll pick up
all the other patches tomorrow when I prepare my for-next tree for 6.4.

Adrian
  
Randy Dunlap March 21, 2023, 3:16 p.m. UTC | #10
On 3/21/23 08:15, John Paul Adrian Glaubitz wrote:
> Hi Geert!
> 
> On Tue, 2023-03-21 at 09:47 +0100, Geert Uytterhoeven wrote:
>>> Yeah, this explains it then. Your new patch is definitely the better approach
>>> and I would prefer it over Randy's suggested change. Let's see what the mm
>>> maintainers have to say.
>>
>> I'm sure the missed condition was just an oversight, so I expect no
>> objections.
> 
> And you were right, of course. We can drop Randy's patch then, but I'll pick up
> all the other patches tomorrow when I prepare my for-next tree for 6.4.

Right, drop it.

Thanks, everyone.
  

Patch

diff -- a/arch/sh/Kconfig b/arch/sh/Kconfig
--- 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
 	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
 	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
 	select SYS_SUPPORTS_NUMA
 	select SYS_SUPPORTS_SH_CMT