Re: [PATCH v2 00/10] sh: remove NUMA and SPARSEMEM support
From: Mike Rapoport
Date: Mon May 18 2026 - 07:46:46 EST
Gentle ping?
On Sun, May 10, 2026 at 04:55:36PM +0300, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@xxxxxxxxxx>
>
> Hi,
>
> NUMA support for SuperH was introduced a long time ago by commit
> b241cb0c885e ("sh: Support for multiple nodes.")
>
> "... for boards with many different memory blocks that are
> otherwise unused (SH7722/SH7785 URAM and so forth)"
>
> In reality, this added 128K of memory on sh7722 and sh7785 and 256K on
> shx3 at the expense of all the NUMA related code in the kernel.
>
> For build of v7.0-rc7 with defconfig and the same configuration with
> CONFIG_NUMA disabled, bloat-o-meter reports difference of ~76k. Disabling
> CONFIG_SPARSMEM on top increases the difference to ~94k. And that's only
> overhead in code and static data that does not take into the account data
> structures allocated at run time.
>
> And all this overhead has been there for nothing for almost 8 years
> because since commit ac21fc2dcb40 ("sh: switch to NO_BOOTMEM")
> those additional "nodes" could not be used by the core MM because the
> maximal pfn for ZONE_NORMAL was cut out at the end of the normal memory.
>
> v2 changes:
> * remove stale SYS_SUPPORTS_NUMA
> * add Arnd's Reviewed-by
>
> v1: https://lore.kernel.org/all/20260413104649.852228-1-rppt@xxxxxxxxxx
>
> Mike Rapoport (Microsoft) (10):
> sh: remove CONFIG_NUMA and realted configuration options
> sh: mm: remove numa.c
> sh: mm: drop allocate_pgdat()
> sh: remove setup_bootmem_node() and plat_mem_setup()
> sh: drop dead code guarded by #ifdef CONFIG_NUMA
> sh: drop include/asm/mmzone.h
> init/Kconfig: drop ARCH_WANT_NUMA_VARIABLE_LOCALITY
> sh: init: remove call the memblock_set_node()
> sh: remove SPARSEMEM related entries from Kconfig
> sh: drop include/asm/sparsemem.h
>
> arch/sh/Kconfig | 12 ------
> arch/sh/configs/migor_defconfig | 1 -
> arch/sh/configs/sdk7786_defconfig | 1 -
> arch/sh/configs/se7722_defconfig | 1 -
> arch/sh/configs/shx3_defconfig | 1 -
> arch/sh/configs/ul2_defconfig | 1 -
> arch/sh/include/asm/mmu.h | 2 +
> arch/sh/include/asm/mmzone.h | 42 --------------------
> arch/sh/include/asm/setup.h | 3 ++
> arch/sh/include/asm/sparsemem.h | 12 ------
> arch/sh/include/asm/topology.h | 13 -------
> arch/sh/kernel/cpu/sh4a/setup-sh7366.c | 5 ---
> arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 7 ----
> arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 1 -
> arch/sh/kernel/cpu/sh4a/setup-sh7724.c | 1 -
> arch/sh/kernel/cpu/sh4a/setup-sh7757.c | 5 ---
> arch/sh/kernel/cpu/sh4a/setup-sh7785.c | 7 ----
> arch/sh/kernel/cpu/sh4a/setup-sh7786.c | 5 ---
> arch/sh/kernel/cpu/sh4a/setup-shx3.c | 18 ---------
> arch/sh/kernel/setup.c | 7 ----
> arch/sh/kernel/topology.c | 12 ------
> arch/sh/kernel/vmcore_info.c | 4 --
> arch/sh/mm/Kconfig | 29 --------------
> arch/sh/mm/Makefile | 1 -
> arch/sh/mm/init.c | 24 ------------
> arch/sh/mm/numa.c | 53 --------------------------
> arch/sh/mm/sram.c | 3 +-
> init/Kconfig | 7 ----
> 28 files changed, 6 insertions(+), 272 deletions(-)
> delete mode 100644 arch/sh/include/asm/mmzone.h
> delete mode 100644 arch/sh/include/asm/sparsemem.h
> delete mode 100644 arch/sh/mm/numa.c
>
>
> base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
> --
> 2.53.0
>
--
Sincerely yours,
Mike.