* [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init
@ 2026-07-03 4:13 Sang-Heon Jeon
2026-07-03 4:13 ` [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set() Sang-Heon Jeon
2026-07-03 9:43 ` [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init Mike Rapoport
0 siblings, 2 replies; 5+ messages in thread
From: Sang-Heon Jeon @ 2026-07-03 4:13 UTC (permalink / raw)
To: rppt, akpm, Andy Lutomirski, Borislav Petkov, Danilo Krummrich,
Dave Hansen, Greg Kroah-Hartman, Huacai Chen, Ingo Molnar,
Peter Zijlstra, Rafael J. Wysocki, Rob Herring, Saravana Kannan,
Thomas Gleixner
Cc: linux-mm, Sang-Heon Jeon, devicetree, driver-core, H. Peter Anvin,
Len Brown, linux-acpi, linux-kernel, loongarch, WANG Xuerui, x86
Every existing numa_add_memblk() caller passes a valid node id and
separately marks that node in numa_nodes_parsed with node_set(). In
addition, numa_nodemask_from_meminfo() recomputes the same "nodes that own
memory" set from numa_meminfo, which numa_nodes_parsed already contains.
This redundancy implicitly depends on the callers' node_set(). So, before
removing the redundancy, make numa_add_memblk() set the node in
numa_nodes_parsed explicitly. Then remove the per-caller node_set() and
numa_nodemask_from_meminfo().
Also, since the generic numa_register_meminfo() already sets
node_possible_map to numa_nodes_parsed, remove the duplicate assignment in
arch_numa's numa_register_nodes().
Patch 1 adds the node_set() to numa_add_memblk() itself, so every memblk's
node is set in numa_nodes_parsed on add.
Patches 2-6 depend on patch 1 and remove the redundant per-caller node_set()
from all callers.
Patch 7 removes both numa_nodemask_from_meminfo() call sites and the unused
function itself.
Patch 8 removes the duplicate node_possible_map assignment in arch_numa.
Patch 9 is a minor cleanup, using the existing numa_add_reserved_memblk()
wrapper in numa_cleanup_meminfo().
No functional change.
---
Changes from v1 [1]
- remove warning in numa_add_memblk_to() when start == end
- add Acked-by tag
- rebased onto latest mm-new
[1] https://lore.kernel.org/all/20260628135828.1393120-1-ekffu200098@gmail.com/
---
Sang-Heon Jeon (9):
mm: numa_memblks: set numa_nodes_parsed in numa_add_memblk()
ACPI: NUMA: remove redundant numa_nodes_parsed node_set()
of/numa: remove redundant numa_nodes_parsed node_set()
x86/numa: remove redundant numa_nodes_parsed node_set()
arch_numa: remove redundant numa_nodes_parsed node_set()
LoongArch: remove redundant numa_nodes_parsed node_set()
mm: numa_memblks: remove redundant numa_nodemask_from_meminfo()
arch_numa: remove redundant node_possible_map assignment
mm: numa_memblks: use numa_add_reserved_memblk() in
numa_cleanup_meminfo()
arch/loongarch/kernel/numa.c | 1 -
arch/x86/mm/amdtopology.c | 1 -
arch/x86/mm/numa.c | 1 -
drivers/acpi/numa/srat.c | 2 --
drivers/base/arch_numa.c | 4 ----
drivers/of/of_numa.c | 5 +----
mm/numa_memblks.c | 39 +++++++++++++++++-------------------
7 files changed, 19 insertions(+), 34 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set()
2026-07-03 4:13 [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init Sang-Heon Jeon
@ 2026-07-03 4:13 ` Sang-Heon Jeon
2026-07-06 17:57 ` Rafael J. Wysocki (Intel)
2026-07-03 9:43 ` [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init Mike Rapoport
1 sibling, 1 reply; 5+ messages in thread
From: Sang-Heon Jeon @ 2026-07-03 4:13 UTC (permalink / raw)
To: rppt, akpm, Rafael J. Wysocki
Cc: linux-mm, Sang-Heon Jeon, Andy Lutomirski, Borislav Petkov,
Danilo Krummrich, Dave Hansen, Greg Kroah-Hartman, Huacai Chen,
Ingo Molnar, Len Brown, linux-acpi, linux-kernel, Peter Zijlstra,
Rob Herring, Saravana Kannan, Thomas Gleixner
numa_add_memblk() now sets the node in numa_nodes_parsed itself, so the
caller's own node_set() is redundant. Remove it.
No functional change.
Signed-off-by: Sang-Heon Jeon <ekffu200098@gmail.com>
---
drivers/acpi/numa/srat.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
index 62d4a8df0b8c..5c407dc6401e 100644
--- a/drivers/acpi/numa/srat.c
+++ b/drivers/acpi/numa/srat.c
@@ -399,8 +399,6 @@ acpi_parse_memory_affinity(union acpi_subtable_headers *header,
goto out_err_bad_srat;
}
- node_set(node, numa_nodes_parsed);
-
pr_info("SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]%s%s\n",
node, pxm,
(unsigned long long) start, (unsigned long long) end - 1,
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set()
2026-07-03 4:13 ` [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set() Sang-Heon Jeon
@ 2026-07-06 17:57 ` Rafael J. Wysocki (Intel)
2026-07-07 5:42 ` Mike Rapoport
0 siblings, 1 reply; 5+ messages in thread
From: Rafael J. Wysocki (Intel) @ 2026-07-06 17:57 UTC (permalink / raw)
To: Sang-Heon Jeon
Cc: rppt, akpm, Rafael J. Wysocki, linux-mm, Andy Lutomirski,
Borislav Petkov, Danilo Krummrich, Dave Hansen,
Greg Kroah-Hartman, Huacai Chen, Ingo Molnar, Len Brown,
linux-acpi, linux-kernel, Peter Zijlstra, Rob Herring,
Saravana Kannan, Thomas Gleixner
On Fri, Jul 3, 2026 at 6:14 AM Sang-Heon Jeon <ekffu200098@gmail.com> wrote:
>
> numa_add_memblk() now sets the node in numa_nodes_parsed itself, so the
> caller's own node_set() is redundant. Remove it.
>
> No functional change.
>
> Signed-off-by: Sang-Heon Jeon <ekffu200098@gmail.com>
> ---
> drivers/acpi/numa/srat.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
> index 62d4a8df0b8c..5c407dc6401e 100644
> --- a/drivers/acpi/numa/srat.c
> +++ b/drivers/acpi/numa/srat.c
> @@ -399,8 +399,6 @@ acpi_parse_memory_affinity(union acpi_subtable_headers *header,
> goto out_err_bad_srat;
> }
>
> - node_set(node, numa_nodes_parsed);
> -
> pr_info("SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]%s%s\n",
> node, pxm,
> (unsigned long long) start, (unsigned long long) end - 1,
> --
Applied as 7.3 material, thanks!
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set()
2026-07-06 17:57 ` Rafael J. Wysocki (Intel)
@ 2026-07-07 5:42 ` Mike Rapoport
0 siblings, 0 replies; 5+ messages in thread
From: Mike Rapoport @ 2026-07-07 5:42 UTC (permalink / raw)
To: Rafael J. Wysocki (Intel)
Cc: Sang-Heon Jeon, akpm, linux-mm, Andy Lutomirski, Borislav Petkov,
Danilo Krummrich, Dave Hansen, Greg Kroah-Hartman, Huacai Chen,
Ingo Molnar, Len Brown, linux-acpi, linux-kernel, Peter Zijlstra,
Rob Herring, Saravana Kannan, Thomas Gleixner
Hi Rafael,
On Mon, Jul 06, 2026 at 07:57:55PM +0200, Rafael J. Wysocki (Intel) wrote:
> On Fri, Jul 3, 2026 at 6:14 AM Sang-Heon Jeon <ekffu200098@gmail.com> wrote:
> >
> > numa_add_memblk() now sets the node in numa_nodes_parsed itself, so the
> > caller's own node_set() is redundant. Remove it.
> >
> > No functional change.
> >
> > Signed-off-by: Sang-Heon Jeon <ekffu200098@gmail.com>
> > ---
> > drivers/acpi/numa/srat.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
> > index 62d4a8df0b8c..5c407dc6401e 100644
> > --- a/drivers/acpi/numa/srat.c
> > +++ b/drivers/acpi/numa/srat.c
> > @@ -399,8 +399,6 @@ acpi_parse_memory_affinity(union acpi_subtable_headers *header,
> > goto out_err_bad_srat;
> > }
> >
> > - node_set(node, numa_nodes_parsed);
> > -
> > pr_info("SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]%s%s\n",
> > node, pxm,
> > (unsigned long long) start, (unsigned long long) end - 1,
> > --
>
> Applied as 7.3 material, thanks!
This depends on patch 1 in the series, so I think it's better to keep the
series together and merge via the memblock tree so I took it there a few
days ago:
https://lore.kernel.org/all/178306815065.2173096.9480193260074524906.b4-ty@b4
Would you like me to add your tag for this patch?
--
Sincerely yours,
Mike.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init
2026-07-03 4:13 [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init Sang-Heon Jeon
2026-07-03 4:13 ` [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set() Sang-Heon Jeon
@ 2026-07-03 9:43 ` Mike Rapoport
1 sibling, 0 replies; 5+ messages in thread
From: Mike Rapoport @ 2026-07-03 9:43 UTC (permalink / raw)
To: akpm, Andy Lutomirski, Borislav Petkov, Danilo Krummrich,
Dave Hansen, Greg Kroah-Hartman, Huacai Chen, Ingo Molnar,
Peter Zijlstra, Rafael J. Wysocki, Rob Herring, Saravana Kannan,
Thomas Gleixner, Sang-Heon Jeon
Cc: Mike Rapoport, linux-mm, devicetree, driver-core, H. Peter Anvin,
Len Brown, linux-acpi, linux-kernel, loongarch, WANG Xuerui, x86
On Fri, 3 Jul 2026 13:13:20 +0900, Sang-Heon Jeon wrote:
> Every existing numa_add_memblk() caller passes a valid node id and
> separately marks that node in numa_nodes_parsed with node_set(). In
> addition, numa_nodemask_from_meminfo() recomputes the same "nodes that own
> memory" set from numa_meminfo, which numa_nodes_parsed already contains.
>
> This redundancy implicitly depends on the callers' node_set(). So, before
> removing the redundancy, make numa_add_memblk() set the node in
> numa_nodes_parsed explicitly. Then remove the per-caller node_set() and
> numa_nodemask_from_meminfo().
>
> [...]
Applied to numa_memblks-redundant-work branch of memblock.git tree, thanks!
[1/9] mm: numa_memblks: set numa_nodes_parsed in numa_add_memblk()
commit: abdbd8329281f40afd381346410d6d43604af82c
[2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set()
commit: 7cbdade40fb8f440c13ccd7a02d104bf32285187
[3/9] of/numa: remove redundant numa_nodes_parsed node_set()
commit: 3b1e5d902dfa832e4b175cb1f5a000236d45ceb5
[4/9] x86/numa: remove redundant numa_nodes_parsed node_set()
commit: 63fa742bae02f0d2ffe95ff540a51837815abc5c
[5/9] arch_numa: remove redundant numa_nodes_parsed node_set()
commit: 8b9cecbdc78c5a6cfaaf3b00ce7ebe05cf5417e7
[6/9] LoongArch: remove redundant numa_nodes_parsed node_set()
commit: 3aeac07c5b1c3399487f4b38182f8cfbc3dbbd53
[7/9] mm: numa_memblks: remove redundant numa_nodemask_from_meminfo()
commit: a9bafc1832d2db97813069823821ed333b8ecda6
[8/9] arch_numa: remove redundant node_possible_map assignment
commit: f5a77a50a14dffb659ee8f550c824f8280e37fce
[9/9] mm: numa_memblks: use numa_add_reserved_memblk() in numa_cleanup_meminfo()
commit: e55424c84afd48aa2f0f761ae0c006128ef541cf
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock
branch: numa_memblks-redundant-work
--
Sincerely yours,
Mike.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-07-07 5:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03 4:13 [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init Sang-Heon Jeon
2026-07-03 4:13 ` [PATCH v2 2/9] ACPI: NUMA: remove redundant numa_nodes_parsed node_set() Sang-Heon Jeon
2026-07-06 17:57 ` Rafael J. Wysocki (Intel)
2026-07-07 5:42 ` Mike Rapoport
2026-07-03 9:43 ` [PATCH v2 0/9] treewide, numa_memblks: remove redundant work during NUMA init Mike Rapoport
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox