Re: [PATCH v2 00/10] sh: remove NUMA and SPARSEMEM support

Mike Rapoport <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel,gmane.linux.kernel.mm
Message-ID <[email protected]>
Gentle ping?

On Sun, May 10, 2026 at 04:55:36PM +0300, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <[email protected]>
> 
> 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/[email protected]
> 
> 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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.