2023-03-06 04:01:15

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 0/7 v4] sh: various doc, build, init fixes

All of these patches have been sent previously, anywhere from
one to 3 times. All patches are now called "v4".

This refresh/resend is to assist the new SH maintainer.

[PATCH 1/7 v4] sh: SH2007: drop the bad URL info
[PATCH 2/7 v4] sh: nmi_debug: fix return value of __setup handler
[PATCH 3/7 v4] sh: init: use OF_EARLY_FLATTREE for early init
[PATCH 4/7 v4] sh: math-emu: fix macro redefined warning
[PATCH 5/7 v4] sh: remove sh5/sh64 last fragments
[PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP
[PATCH 7/7 v4] sh: mcount.S: fix build error when PRINTK is not enabled

diffstat:
Documentation/kbuild/kbuild.rst | 1 -
Documentation/scheduler/sched-arch.rst | 2 --
Documentation/translations/zh_CN/scheduler/sched-arch.rst | 2 --
arch/sh/Kconfig | 4 ++++
arch/sh/Kconfig.debug | 2 +-
arch/sh/boards/Kconfig | 1 -
arch/sh/kernel/head_32.S | 6 +++---
arch/sh/kernel/nmi_debug.c | 4 ++--
arch/sh/kernel/setup.c | 4 ++--
arch/sh/math-emu/sfp-util.h | 4 ----
scripts/checkstack.pl | 7 -------
tools/perf/arch/common.c | 2 --
tools/scripts/Makefile.arch | 5 -----
tools/testing/selftests/mm/Makefile | 2 +-
tools/testing/selftests/mm/run_vmtests.sh | 2 +-
15 files changed, 14 insertions(+), 34 deletions(-)

Cc: John Paul Adrian Glaubitz <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Rich Felker <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Hitoshi Mitake <[email protected]>
Cc: [email protected]
Cc: Frank Rowand <[email protected]>
Cc: [email protected]
Cc: Arnd Bergmann <[email protected]>


2023-03-06 04:01:20

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP

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 <[email protected]>
Reported-by: Geert Uytterhoeven <[email protected]>
Cc: John Paul Adrian Glaubitz <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Rich Felker <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
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


Subject: Re: [PATCH 0/7 v4] sh: various doc, build, init fixes

Hi Randy!

On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote:
> All of these patches have been sent previously, anywhere from
> one to 3 times. All patches are now called "v4".
>
> This refresh/resend is to assist the new SH maintainer.
>
> [PATCH 1/7 v4] sh: SH2007: drop the bad URL info
> [PATCH 2/7 v4] sh: nmi_debug: fix return value of __setup handler
> [PATCH 3/7 v4] sh: init: use OF_EARLY_FLATTREE for early init
> [PATCH 4/7 v4] sh: math-emu: fix macro redefined warning
> [PATCH 5/7 v4] sh: remove sh5/sh64 last fragments
> [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP
> [PATCH 7/7 v4] sh: mcount.S: fix build error when PRINTK is not enabled
>
> diffstat:
> Documentation/kbuild/kbuild.rst | 1 -
> Documentation/scheduler/sched-arch.rst | 2 --
> Documentation/translations/zh_CN/scheduler/sched-arch.rst | 2 --
> arch/sh/Kconfig | 4 ++++
> arch/sh/Kconfig.debug | 2 +-
> arch/sh/boards/Kconfig | 1 -
> arch/sh/kernel/head_32.S | 6 +++---
> arch/sh/kernel/nmi_debug.c | 4 ++--
> arch/sh/kernel/setup.c | 4 ++--
> arch/sh/math-emu/sfp-util.h | 4 ----
> scripts/checkstack.pl | 7 -------
> tools/perf/arch/common.c | 2 --
> tools/scripts/Makefile.arch | 5 -----
> tools/testing/selftests/mm/Makefile | 2 +-
> tools/testing/selftests/mm/run_vmtests.sh | 2 +-
> 15 files changed, 14 insertions(+), 34 deletions(-)
>
> Cc: John Paul Adrian Glaubitz <[email protected]>
> Cc: Yoshinori Sato <[email protected]>
> Cc: Rich Felker <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Cc: Hitoshi Mitake <[email protected]>
> Cc: [email protected]
> Cc: Frank Rowand <[email protected]>
> Cc: [email protected]
> Cc: Arnd Bergmann <[email protected]>

Thanks for these fixes. All changes look good to me and I'm going to test
them on my SH-7785LCR board on top of 6.3-rc1 and report back. The documentation
changes obviously won't have any impact in this regard.

Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

Subject: Re: [PATCH 0/7 v4] sh: various doc, build, init fixes

Hi Randy!

On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote:
> All of these patches have been sent previously, anywhere from
> one to 3 times. All patches are now called "v4".
>
> This refresh/resend is to assist the new SH maintainer.
>
> [PATCH 1/7 v4] sh: SH2007: drop the bad URL info
> [PATCH 2/7 v4] sh: nmi_debug: fix return value of __setup handler
> [PATCH 3/7 v4] sh: init: use OF_EARLY_FLATTREE for early init
> [PATCH 4/7 v4] sh: math-emu: fix macro redefined warning
> [PATCH 5/7 v4] sh: remove sh5/sh64 last fragments
> [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP
> [PATCH 7/7 v4] sh: mcount.S: fix build error when PRINTK is not enabled

I have successfully applied, built and booted all patches on my SH7785LCR evaluation
board except for patch #5.

I'll do the review next, then include them in my for-next tree for 6.4.

Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

Subject: Re: [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP

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 <[email protected]>
> Reported-by: Geert Uytterhoeven <[email protected]>
> Cc: John Paul Adrian Glaubitz <[email protected]>
> Cc: Yoshinori Sato <[email protected]>
> Cc: Rich Felker <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> ---
> 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

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

Subject: Re: [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP

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 <[email protected]>
> > Reported-by: Geert Uytterhoeven <[email protected]>
> > Cc: John Paul Adrian Glaubitz <[email protected]>
> > Cc: Yoshinori Sato <[email protected]>
> > Cc: Rich Felker <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > ---
> > 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

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

2023-03-20 20:17:25

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP



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 <[email protected]>
>>> Reported-by: Geert Uytterhoeven <[email protected]>
>>> Cc: John Paul Adrian Glaubitz <[email protected]>
>>> Cc: Yoshinori Sato <[email protected]>
>>> Cc: Rich Felker <[email protected]>
>>> Cc: [email protected]
>>> Cc: [email protected]
>>> ---
>>> 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.

--
~Randy

Subject: Re: [PATCH 0/7 v4] sh: various doc, build, init fixes

Hi Randy!

On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote:
> All of these patches have been sent previously, anywhere from
> one to 3 times. All patches are now called "v4".
>
> This refresh/resend is to assist the new SH maintainer.
>
> [PATCH 1/7 v4] sh: SH2007: drop the bad URL info
> [PATCH 2/7 v4] sh: nmi_debug: fix return value of __setup handler
> [PATCH 3/7 v4] sh: init: use OF_EARLY_FLATTREE for early init
> [PATCH 4/7 v4] sh: math-emu: fix macro redefined warning
> [PATCH 5/7 v4] sh: remove sh5/sh64 last fragments
> [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP
> [PATCH 7/7 v4] sh: mcount.S: fix build error when PRINTK is not enabled
>
> diffstat:
> Documentation/kbuild/kbuild.rst | 1 -
> Documentation/scheduler/sched-arch.rst | 2 --
> Documentation/translations/zh_CN/scheduler/sched-arch.rst | 2 --
> arch/sh/Kconfig | 4 ++++
> arch/sh/Kconfig.debug | 2 +-
> arch/sh/boards/Kconfig | 1 -
> arch/sh/kernel/head_32.S | 6 +++---
> arch/sh/kernel/nmi_debug.c | 4 ++--
> arch/sh/kernel/setup.c | 4 ++--
> arch/sh/math-emu/sfp-util.h | 4 ----
> scripts/checkstack.pl | 7 -------
> tools/perf/arch/common.c | 2 --
> tools/scripts/Makefile.arch | 5 -----
> tools/testing/selftests/mm/Makefile | 2 +-
> tools/testing/selftests/mm/run_vmtests.sh | 2 +-
> 15 files changed, 14 insertions(+), 34 deletions(-)
>
> Cc: John Paul Adrian Glaubitz <[email protected]>
> Cc: Yoshinori Sato <[email protected]>
> Cc: Rich Felker <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Cc: Hitoshi Mitake <[email protected]>
> Cc: [email protected]
> Cc: Frank Rowand <[email protected]>
> Cc: [email protected]
> Cc: Arnd Bergmann <[email protected]>

All applied to sh-linux/for-next now except for patch number 6.

Apologies that it took so long, I'm still learning :-).

Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913