[PATCH] mm/memblock: Remove redundant pageblock_align() in free_unused_memmap()
From: Zhen Ni
Date: Thu Jun 11 2026 - 23:26:55 EST
The assignment `prev_end = pageblock_align(end)` is redundant because
`prev_end` was already aligned to pageblock oundaries inside the loop.
Since pageblock_align() is a pure function, calling it again with the
same input produces the same result.
This line was added in commit f921f53e089a ("memblock: align freed
memory map on pageblock boundaries with SPARSEMEM"). Remove it to
simplify the code.
Signed-off-by: Zhen Ni <zhen.ni@xxxxxxxxxxxx>
---
mm/memblock.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/mm/memblock.c b/mm/memblock.c
index ccd43f3abb82..f50792375604 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -2258,10 +2258,8 @@ static void __init free_unused_memmap(void)
}
#ifdef CONFIG_SPARSEMEM
- if (!IS_ALIGNED(prev_end, PAGES_PER_SECTION)) {
- prev_end = pageblock_align(end);
+ if (!IS_ALIGNED(prev_end, PAGES_PER_SECTION))
free_memmap(prev_end, ALIGN(prev_end, PAGES_PER_SECTION));
- }
#endif
}
--
2.20.1