* [PATCH] drivers/base, mm: move arch_numa.c to mm/
@ 2026-08-06 6:58 Mike Rapoport (Microsoft)
2026-08-06 7:03 ` Greg Kroah-Hartman
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Mike Rapoport (Microsoft) @ 2026-08-06 6:58 UTC (permalink / raw)
To: Andrew Morton
Cc: Albert Ou, Alexandre Ghiti, Catalin Marinas, Danilo Krummrich,
David Hildenbrand, Greg Kroah-Hartman, Liam R. Howlett,
Lorenzo Stoakes, Michal Hocko, Mike Rapoport, Palmer Dabbelt,
Paul Walmsley, Rafael J. Wysocki, Suren Baghdasaryan,
Vlastimil Babka, Will Deacon, driver-core, linux-arm-kernel,
linux-kernel, linux-mm, linux-riscv
arch_numa.c implements boot time discovery and initialization of NUMA
topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
and riscv).
Since this is step in the initialization of the memory management
subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
numa_memblks.c and numa_emulation.c.
Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
MANAGEMENT INITIALIZATION" in MAINTAINERS.
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
---
MAINTAINERS | 1 +
drivers/base/Kconfig | 7 -------
drivers/base/Makefile | 1 -
mm/Kconfig | 7 +++++++
mm/Makefile | 1 +
{drivers/base => mm}/arch_numa.c | 0
6 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 5114e6db7307..465b64f8e93c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16880,6 +16880,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock.git fixes
F: Documentation/core-api/boot-time-mm.rst
F: include/linux/kho/abi/memblock.h
F: include/linux/memblock.h
+F: mm/arch_numa.c
F: mm/bootmem_info.c
F: mm/memblock.c
F: mm/memtest.c
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index f7d385cbd3ba..1d93bfc34490 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -239,13 +239,6 @@ config GENERIC_ARCH_TOPOLOGY
appropriate scaling, sysfs interface for reading capacity values at
runtime.
-config GENERIC_ARCH_NUMA
- bool
- select NUMA_MEMBLKS
- help
- Enable support for generic NUMA implementation. Currently, RISC-V
- and ARM64 use it.
-
config FW_DEVLINK_SYNC_STATE_TIMEOUT
bool "sync_state() behavior defaults to timeout instead of strict"
help
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
index 8074a10183dc..435710f643a5 100644
--- a/drivers/base/Makefile
+++ b/drivers/base/Makefile
@@ -25,7 +25,6 @@ obj-$(CONFIG_PINCTRL) += pinctrl.o
obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o
obj-$(CONFIG_GENERIC_MSI_IRQ) += platform-msi.o
obj-$(CONFIG_GENERIC_ARCH_TOPOLOGY) += arch_topology.o
-obj-$(CONFIG_GENERIC_ARCH_NUMA) += arch_numa.o
obj-$(CONFIG_ACPI) += physical_location.o
obj-y += test/
diff --git a/mm/Kconfig b/mm/Kconfig
index 9e0ca4824905..410b8a0a92b9 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1469,6 +1469,13 @@ config NUMA_EMU
into virtual nodes when booted with "numa=fake=N", where N is the
number of nodes. This is only useful for debugging.
+config GENERIC_ARCH_NUMA
+ bool
+ select NUMA_MEMBLKS
+ help
+ Enable support for generic NUMA implementation. Currently, RISC-V
+ and ARM64 use it.
+
config ARCH_HAS_USER_SHADOW_STACK
bool
help
diff --git a/mm/Makefile b/mm/Makefile
index eff9f9e7e061..fd29be716fa8 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -122,6 +122,7 @@ obj-$(CONFIG_CMA) += cma.o
obj-$(CONFIG_NUMA) += numa.o
obj-$(CONFIG_NUMA_MEMBLKS) += numa_memblks.o
obj-$(CONFIG_NUMA_EMU) += numa_emulation.o
+obj-$(CONFIG_GENERIC_ARCH_NUMA) += arch_numa.o
obj-$(CONFIG_BALLOON) += balloon.o
obj-$(CONFIG_PAGE_EXTENSION) += page_ext.o
obj-$(CONFIG_PAGE_TABLE_CHECK) += page_table_check.o
diff --git a/drivers/base/arch_numa.c b/mm/arch_numa.c
similarity index 100%
rename from drivers/base/arch_numa.c
rename to mm/arch_numa.c
---
base-commit: 075b74841bd0065a3bda3440873c747938e69b68
change-id: 20260806-arch-numa-444bb4806114
--
Sincerely yours,
Mike.
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/base, mm: move arch_numa.c to mm/
2026-08-06 6:58 [PATCH] drivers/base, mm: move arch_numa.c to mm/ Mike Rapoport (Microsoft)
@ 2026-08-06 7:03 ` Greg Kroah-Hartman
2026-08-06 7:06 ` Lorenzo Stoakes (ARM)
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2026-08-06 7:03 UTC (permalink / raw)
To: Mike Rapoport (Microsoft)
Cc: Andrew Morton, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Danilo Krummrich, David Hildenbrand, Liam R. Howlett,
Lorenzo Stoakes, Michal Hocko, Palmer Dabbelt, Paul Walmsley,
Rafael J. Wysocki, Suren Baghdasaryan, Vlastimil Babka,
Will Deacon, driver-core, linux-arm-kernel, linux-kernel,
linux-mm, linux-riscv
On Thu, Aug 06, 2026 at 09:58:38AM +0300, Mike Rapoport (Microsoft) wrote:
> arch_numa.c implements boot time discovery and initialization of NUMA
> topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
> and riscv).
>
> Since this is step in the initialization of the memory management
> subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
> numa_memblks.c and numa_emulation.c.
>
> Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
> MANAGEMENT INITIALIZATION" in MAINTAINERS.
>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
No objection from me!
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/base, mm: move arch_numa.c to mm/
2026-08-06 6:58 [PATCH] drivers/base, mm: move arch_numa.c to mm/ Mike Rapoport (Microsoft)
2026-08-06 7:03 ` Greg Kroah-Hartman
@ 2026-08-06 7:06 ` Lorenzo Stoakes (ARM)
2026-08-06 7:16 ` Mike Rapoport
2026-08-06 11:48 ` David Hildenbrand (Arm)
` (2 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Lorenzo Stoakes (ARM) @ 2026-08-06 7:06 UTC (permalink / raw)
To: Mike Rapoport (Microsoft)
Cc: Andrew Morton, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Danilo Krummrich, David Hildenbrand, Greg Kroah-Hartman,
Liam R. Howlett, Michal Hocko, Palmer Dabbelt, Paul Walmsley,
Rafael J. Wysocki, Suren Baghdasaryan, Vlastimil Babka,
Will Deacon, driver-core, linux-arm-kernel, linux-kernel,
linux-mm, linux-riscv
On Thu, Aug 06, 2026 at 09:58:38AM +0300, Mike Rapoport (Microsoft) wrote:
> arch_numa.c implements boot time discovery and initialization of NUMA
> topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
> and riscv).
>
> Since this is step in the initialization of the memory management
> subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
> numa_memblks.c and numa_emulation.c.
>
> Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
> MANAGEMENT INITIALIZATION" in MAINTAINERS.
>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Everything is proceeding as I have foreseen... soon we shall have control
of all of the kernel! ;)
Acked-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> ---
> MAINTAINERS | 1 +
> drivers/base/Kconfig | 7 -------
> drivers/base/Makefile | 1 -
> mm/Kconfig | 7 +++++++
> mm/Makefile | 1 +
> {drivers/base => mm}/arch_numa.c | 0
> 6 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5114e6db7307..465b64f8e93c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16880,6 +16880,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock.git fixes
> F: Documentation/core-api/boot-time-mm.rst
> F: include/linux/kho/abi/memblock.h
> F: include/linux/memblock.h
> +F: mm/arch_numa.c
> F: mm/bootmem_info.c
> F: mm/memblock.c
> F: mm/memtest.c
> diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
> index f7d385cbd3ba..1d93bfc34490 100644
> --- a/drivers/base/Kconfig
> +++ b/drivers/base/Kconfig
> @@ -239,13 +239,6 @@ config GENERIC_ARCH_TOPOLOGY
> appropriate scaling, sysfs interface for reading capacity values at
> runtime.
>
> -config GENERIC_ARCH_NUMA
> - bool
> - select NUMA_MEMBLKS
> - help
> - Enable support for generic NUMA implementation. Currently, RISC-V
> - and ARM64 use it.
> -
> config FW_DEVLINK_SYNC_STATE_TIMEOUT
> bool "sync_state() behavior defaults to timeout instead of strict"
> help
> diff --git a/drivers/base/Makefile b/drivers/base/Makefile
> index 8074a10183dc..435710f643a5 100644
> --- a/drivers/base/Makefile
> +++ b/drivers/base/Makefile
> @@ -25,7 +25,6 @@ obj-$(CONFIG_PINCTRL) += pinctrl.o
> obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o
> obj-$(CONFIG_GENERIC_MSI_IRQ) += platform-msi.o
> obj-$(CONFIG_GENERIC_ARCH_TOPOLOGY) += arch_topology.o
> -obj-$(CONFIG_GENERIC_ARCH_NUMA) += arch_numa.o
> obj-$(CONFIG_ACPI) += physical_location.o
>
> obj-y += test/
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 9e0ca4824905..410b8a0a92b9 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -1469,6 +1469,13 @@ config NUMA_EMU
> into virtual nodes when booted with "numa=fake=N", where N is the
> number of nodes. This is only useful for debugging.
>
> +config GENERIC_ARCH_NUMA
> + bool
> + select NUMA_MEMBLKS
> + help
> + Enable support for generic NUMA implementation. Currently, RISC-V
> + and ARM64 use it.
> +
> config ARCH_HAS_USER_SHADOW_STACK
> bool
> help
> diff --git a/mm/Makefile b/mm/Makefile
> index eff9f9e7e061..fd29be716fa8 100644
> --- a/mm/Makefile
> +++ b/mm/Makefile
> @@ -122,6 +122,7 @@ obj-$(CONFIG_CMA) += cma.o
> obj-$(CONFIG_NUMA) += numa.o
> obj-$(CONFIG_NUMA_MEMBLKS) += numa_memblks.o
> obj-$(CONFIG_NUMA_EMU) += numa_emulation.o
> +obj-$(CONFIG_GENERIC_ARCH_NUMA) += arch_numa.o
> obj-$(CONFIG_BALLOON) += balloon.o
> obj-$(CONFIG_PAGE_EXTENSION) += page_ext.o
> obj-$(CONFIG_PAGE_TABLE_CHECK) += page_table_check.o
> diff --git a/drivers/base/arch_numa.c b/mm/arch_numa.c
> similarity index 100%
> rename from drivers/base/arch_numa.c
> rename to mm/arch_numa.c
>
> ---
> base-commit: 075b74841bd0065a3bda3440873c747938e69b68
> change-id: 20260806-arch-numa-444bb4806114
>
> --
> Sincerely yours,
> Mike.
>
--
Cheers, Lorenzo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/base, mm: move arch_numa.c to mm/
2026-08-06 7:06 ` Lorenzo Stoakes (ARM)
@ 2026-08-06 7:16 ` Mike Rapoport
0 siblings, 0 replies; 7+ messages in thread
From: Mike Rapoport @ 2026-08-06 7:16 UTC (permalink / raw)
To: Lorenzo Stoakes (ARM)
Cc: Andrew Morton, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Danilo Krummrich, David Hildenbrand, Greg Kroah-Hartman,
Liam R. Howlett, Michal Hocko, Palmer Dabbelt, Paul Walmsley,
Rafael J. Wysocki, Suren Baghdasaryan, Vlastimil Babka,
Will Deacon, driver-core, linux-arm-kernel, linux-kernel,
linux-mm, linux-riscv
On Thu, Aug 06, 2026 at 08:06:12AM +0100, Lorenzo Stoakes (ARM) wrote:
> On Thu, Aug 06, 2026 at 09:58:38AM +0300, Mike Rapoport (Microsoft) wrote:
> > arch_numa.c implements boot time discovery and initialization of NUMA
> > topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
> > and riscv).
> >
> > Since this is step in the initialization of the memory management
> > subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
> > numa_memblks.c and numa_emulation.c.
> >
> > Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
> > MANAGEMENT INITIALIZATION" in MAINTAINERS.
> >
> > Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
>
> Everything is proceeding as I have foreseen... soon we shall have control
> of all of the kernel! ;)
I'm also eyeing drivers/base/memory.c, but that one is more involved :)
> Acked-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Thanks!
--
Sincerely yours,
Mike.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/base, mm: move arch_numa.c to mm/
2026-08-06 6:58 [PATCH] drivers/base, mm: move arch_numa.c to mm/ Mike Rapoport (Microsoft)
2026-08-06 7:03 ` Greg Kroah-Hartman
2026-08-06 7:06 ` Lorenzo Stoakes (ARM)
@ 2026-08-06 11:48 ` David Hildenbrand (Arm)
2026-08-06 19:07 ` Danilo Krummrich
2026-08-06 22:48 ` Andrew Morton
4 siblings, 0 replies; 7+ messages in thread
From: David Hildenbrand (Arm) @ 2026-08-06 11:48 UTC (permalink / raw)
To: Mike Rapoport (Microsoft), Andrew Morton
Cc: Albert Ou, Alexandre Ghiti, Catalin Marinas, Danilo Krummrich,
Greg Kroah-Hartman, Liam R. Howlett, Lorenzo Stoakes,
Michal Hocko, Palmer Dabbelt, Paul Walmsley, Rafael J. Wysocki,
Suren Baghdasaryan, Vlastimil Babka, Will Deacon, driver-core,
linux-arm-kernel, linux-kernel, linux-mm, linux-riscv
On 8/6/26 08:58, Mike Rapoport (Microsoft) wrote:
> arch_numa.c implements boot time discovery and initialization of NUMA
> topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
> and riscv).
>
> Since this is step in the initialization of the memory management
> subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
> numa_memblks.c and numa_emulation.c.
>
> Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
> MANAGEMENT INITIALIZATION" in MAINTAINERS.
>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
Acked-by: David Hildenbrand (Arm) <david@kernel.org>
--
Cheers,
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/base, mm: move arch_numa.c to mm/
2026-08-06 6:58 [PATCH] drivers/base, mm: move arch_numa.c to mm/ Mike Rapoport (Microsoft)
` (2 preceding siblings ...)
2026-08-06 11:48 ` David Hildenbrand (Arm)
@ 2026-08-06 19:07 ` Danilo Krummrich
2026-08-06 22:48 ` Andrew Morton
4 siblings, 0 replies; 7+ messages in thread
From: Danilo Krummrich @ 2026-08-06 19:07 UTC (permalink / raw)
To: Mike Rapoport (Microsoft)
Cc: Andrew Morton, Albert Ou, Alexandre Ghiti, Catalin Marinas,
David Hildenbrand, Greg Kroah-Hartman, Liam R. Howlett,
Lorenzo Stoakes, Michal Hocko, Palmer Dabbelt, Paul Walmsley,
Rafael J. Wysocki, Suren Baghdasaryan, Vlastimil Babka,
Will Deacon, driver-core, linux-arm-kernel, linux-kernel,
linux-mm, linux-riscv
On Thu Aug 6, 2026 at 8:58 AM CEST, Mike Rapoport (Microsoft) wrote:
> arch_numa.c implements boot time discovery and initialization of NUMA
> topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
> and riscv).
>
> Since this is step in the initialization of the memory management
> subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
> numa_memblks.c and numa_emulation.c.
>
> Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
> MANAGEMENT INITIALIZATION" in MAINTAINERS.
>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/base, mm: move arch_numa.c to mm/
2026-08-06 6:58 [PATCH] drivers/base, mm: move arch_numa.c to mm/ Mike Rapoport (Microsoft)
` (3 preceding siblings ...)
2026-08-06 19:07 ` Danilo Krummrich
@ 2026-08-06 22:48 ` Andrew Morton
4 siblings, 0 replies; 7+ messages in thread
From: Andrew Morton @ 2026-08-06 22:48 UTC (permalink / raw)
To: Mike Rapoport (Microsoft)
Cc: Albert Ou, Alexandre Ghiti, Catalin Marinas, Danilo Krummrich,
David Hildenbrand, Greg Kroah-Hartman, Liam R. Howlett,
Lorenzo Stoakes, Michal Hocko, Palmer Dabbelt, Paul Walmsley,
Rafael J. Wysocki, Suren Baghdasaryan, Vlastimil Babka,
Will Deacon, driver-core, linux-arm-kernel, linux-kernel,
linux-mm, linux-riscv
On Thu, 06 Aug 2026 09:58:38 +0300 "Mike Rapoport (Microsoft)" <rppt@kernel.org> wrote:
> arch_numa.c implements boot time discovery and initialization of NUMA
> topology on architectures that select GENERIC_ARCH_NUMA (currently arm64
> and riscv).
>
> Since this is step in the initialization of the memory management
> subsystem, it's logical to have arch_numa.c in mm/ alongside numa.c,
> numa_memblks.c and numa_emulation.c.
>
> Move arch_numa.c to mm/ and add its F: entry to "MEMBLOCK AND MEMORY
> MANAGEMENT INITIALIZATION" in MAINTAINERS.
Unclear what tree this is targeted at. I grabbed it.
mm-stable does have this change:
--- linux-7.2-rc5/drivers/base/arch_numa.c 2026-07-27 04:44:55.000000000 -0700
+++ 25/drivers/base/arch_numa.c 2026-08-06 15:47:59.019918702 -0700
@@ -231,10 +231,6 @@ static int __init numa_init(int (*init_f
{
int ret;
- nodes_clear(numa_nodes_parsed);
- nodes_clear(node_possible_map);
- nodes_clear(node_online_map);
-
ret = numa_memblks_init(init_func, /* memblock_force_top_down */ false);
if (ret < 0)
goto out_free_distance;
which is easily handled either way.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-08-06 22:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06 6:58 [PATCH] drivers/base, mm: move arch_numa.c to mm/ Mike Rapoport (Microsoft)
2026-08-06 7:03 ` Greg Kroah-Hartman
2026-08-06 7:06 ` Lorenzo Stoakes (ARM)
2026-08-06 7:16 ` Mike Rapoport
2026-08-06 11:48 ` David Hildenbrand (Arm)
2026-08-06 19:07 ` Danilo Krummrich
2026-08-06 22:48 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox