* [merged mm-stable] sh-remove-config_numa-and-realted-configuration-options.patch removed from -mm tree
@ 2026-10-24 8:58 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2026-10-24 8:58 UTC (permalink / raw)
To: mm-commits, ysato, glaubitz, dalias, arnd, rppt, akpm
The quilt patch titled
Subject: sh: remove CONFIG_NUMA and related configuration options
has been removed from the -mm tree. Its filename was
sh-remove-config_numa-and-realted-configuration-options.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Subject: sh: remove CONFIG_NUMA and related configuration options
Date: Sun, 10 May 2026 16:55:37 +0300
Patch series "sh: remove NUMA and SPARSEMEM support", v2.
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.
This patch (of 10):
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.
Start removing NUMA support on sh with removing CONFIG_NUMA and related
configuration options in arch/sh/Kconfig and arch/sh/mm/Kconfig.
Link: https://lore.kernel.org/20260510135546.13554-1-rppt@kernel.org
Link: https://lore.kernel.org/20260510135546.13554-2-rppt@kernel.org
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Rich Felker <dalias@libc.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
---
arch/sh/Kconfig | 6 ------
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/mm/Kconfig | 19 -------------------
7 files changed, 30 deletions(-)
--- a/arch/sh/configs/migor_defconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/configs/migor_defconfig
@@ -9,7 +9,6 @@ CONFIG_MODULES=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_CPU_SUBTYPE_SH7722=y
CONFIG_MEMORY_START=0x0c000000
-CONFIG_NUMA=y
# CONFIG_MIGRATION is not set
CONFIG_SH_MIGOR=y
# CONFIG_SH_TIMER_CMT is not set
--- a/arch/sh/configs/sdk7786_defconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/configs/sdk7786_defconfig
@@ -41,7 +41,6 @@ CONFIG_CPU_SUBTYPE_SH7786=y
CONFIG_MEMORY_START=0x40000000
CONFIG_MEMORY_SIZE=0x20000000
CONFIG_PMB=y
-CONFIG_NUMA=y
CONFIG_HUGETLB_PAGE_SIZE_64MB=y
CONFIG_KSM=y
CONFIG_SH_STORE_QUEUES=y
--- a/arch/sh/configs/se7722_defconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/configs/se7722_defconfig
@@ -10,7 +10,6 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_CPU_SUBTYPE_SH7722=y
CONFIG_MEMORY_START=0x0c000000
-CONFIG_NUMA=y
CONFIG_SH_STORE_QUEUES=y
CONFIG_SH_7722_SOLUTION_ENGINE=y
# CONFIG_SH_TIMER_CMT is not set
--- a/arch/sh/configs/shx3_defconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/configs/shx3_defconfig
@@ -29,7 +29,6 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_CPU_SUBTYPE_SHX3=y
CONFIG_MEMORY_START=0x0c000000
-CONFIG_NUMA=y
CONFIG_PAGE_SIZE_64KB=y
CONFIG_SH_STORE_QUEUES=y
CONFIG_SH_X3PROTO=y
--- a/arch/sh/configs/ul2_defconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/configs/ul2_defconfig
@@ -10,7 +10,6 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_CPU_SUBTYPE_SH7366=y
CONFIG_MEMORY_SIZE=0x01f00000
-CONFIG_NUMA=y
# CONFIG_MIGRATION is not set
# CONFIG_SH_DSP is not set
# CONFIG_SH_TIMER_CMT is not set
--- a/arch/sh/Kconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/Kconfig
@@ -107,9 +107,6 @@ config SYS_SUPPORTS_APM_EMULATION
config SYS_SUPPORTS_SMP
bool
-config SYS_SUPPORTS_NUMA
- bool
-
config STACKTRACE_SUPPORT
def_bool y
@@ -198,7 +195,6 @@ config CPU_SHX3
bool
select DMA_COHERENT
select SYS_SUPPORTS_SMP
- select SYS_SUPPORTS_NUMA
config ARCH_SHMOBILE
bool
@@ -444,7 +440,6 @@ config CPU_SUBTYPE_SH7785
select CPU_SH4A
select CPU_SHX2
select ARCH_SPARSEMEM_ENABLE
- select SYS_SUPPORTS_NUMA
select PINCTRL
config CPU_SUBTYPE_SH7786
@@ -480,7 +475,6 @@ config CPU_SUBTYPE_SH7722
select CPU_SHX2
select ARCH_SHMOBILE
select ARCH_SPARSEMEM_ENABLE
- select SYS_SUPPORTS_NUMA
select SYS_SUPPORTS_SH_CMT
select PINCTRL
--- a/arch/sh/mm/Kconfig~sh-remove-config_numa-and-realted-configuration-options
+++ a/arch/sh/mm/Kconfig
@@ -112,27 +112,8 @@ config VSYSCALL
For systems with an MMU that can afford to give up a page,
(the default value) say Y.
-config NUMA
- bool "Non-Uniform Memory Access (NUMA) Support"
- depends on MMU && SYS_SUPPORTS_NUMA
- select ARCH_WANT_NUMA_VARIABLE_LOCALITY
- default n
- help
- Some SH systems have many various memories scattered around
- the address space, each with varying latencies. This enables
- support for these blocks by binding them to nodes and allowing
- memory policies to be used for prioritizing and controlling
- allocation behaviour.
-
-config NODES_SHIFT
- int
- default "3" if CPU_SUBTYPE_SHX3
- default "1"
- depends on NUMA
-
config ARCH_FLATMEM_ENABLE
def_bool y
- depends on !NUMA
config ARCH_SPARSEMEM_ENABLE
def_bool y
_
Patches currently in -mm which might be from rppt@kernel.org are
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-24 8:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-24 8:58 [merged mm-stable] sh-remove-config_numa-and-realted-configuration-options.patch removed from -mm tree Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.