* 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)
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ 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] 8+ 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 7:52 ` Vlastimil Babka (SUSE)
` (3 subsequent siblings)
5 siblings, 1 reply; 8+ 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] 8+ 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; 8+ 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] 8+ 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:52 ` Vlastimil Babka (SUSE)
2026-08-06 11:48 ` David Hildenbrand (Arm)
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Vlastimil Babka (SUSE) @ 2026-08-06 7:52 UTC (permalink / raw)
To: Mike Rapoport (Microsoft), Andrew Morton
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, Will Deacon, driver-core,
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: Vlastimil Babka (SUSE) <vbabka@kernel.org>
^ permalink raw reply [flat|nested] 8+ 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 7:52 ` Vlastimil Babka (SUSE)
@ 2026-08-06 11:48 ` David Hildenbrand (Arm)
2026-08-06 19:07 ` Danilo Krummrich
2026-08-06 22:48 ` Andrew Morton
5 siblings, 0 replies; 8+ 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] 8+ 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 11:48 ` David Hildenbrand (Arm)
@ 2026-08-06 19:07 ` Danilo Krummrich
2026-08-06 22:48 ` Andrew Morton
5 siblings, 0 replies; 8+ 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] 8+ 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)
` (4 preceding siblings ...)
2026-08-06 19:07 ` Danilo Krummrich
@ 2026-08-06 22:48 ` Andrew Morton
5 siblings, 0 replies; 8+ 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] 8+ messages in thread