lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 21 Mar 2023 09:19:20 +0100
From:   Geert Uytterhoeven <geert@...ux-m68k.org>
To:     John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
Cc:     Randy Dunlap <rdunlap@...radead.org>, linux-kernel@...r.kernel.org,
        Yoshinori Sato <ysato@...rs.sourceforge.jp>,
        Rich Felker <dalias@...c.org>,
        Kuninori Morimoto <morimoto.kuninori@...esas.com>,
        linux-sh@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH 6/7 v5] sh: fix Kconfig entry for NUMA => SMP

Hi Adrian,

On Tue, Mar 21, 2023 at 9:10 AM John Paul Adrian Glaubitz
<glaubitz@...sik.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@...radead.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@...radead.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 -- There's lots of Linux beyond ia32 -- geert@...ux-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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ