[PATCH] mm/mm_init: remove zone_absent_pages_in_node()

From: Sang-Heon Jeon

Date: Thu Aug 27 2026 - 10:49:43 EST


zone_absent_pages_in_node() returns 0 when the zone is empty and
otherwise calls __absent_pages_in_range(), which already returns 0 for
an empty range.

So remove it and call __absent_pages_in_range() directly.

No functional change.

Signed-off-by: Sang-Heon Jeon <ekffu200098@xxxxxxxxx>
---
mm/mm_init.c | 20 +++-----------------
1 file changed, 3 insertions(+), 17 deletions(-)

diff --git a/mm/mm_init.c b/mm/mm_init.c
index d87166a36ee8..1ead4d694099 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -1192,22 +1192,9 @@ unsigned long __init absent_pages_in_range(unsigned long start_pfn,
return __absent_pages_in_range(MAX_NUMNODES, start_pfn, end_pfn);
}

-/* Return the number of page frames in holes in a zone on a node */
-static unsigned long __init zone_absent_pages_in_node(int nid,
- unsigned long zone_type,
- unsigned long zone_start_pfn,
- unsigned long zone_end_pfn)
-{
- /* zone is empty, we don't have any absent pages */
- if (zone_start_pfn == zone_end_pfn)
- return 0;
-
- return __absent_pages_in_range(nid, zone_start_pfn, zone_end_pfn);
-}
-
/*
* Return the number of pages a zone spans in a node, including holes
- * present_pages = zone_spanned_pages_in_node() - zone_absent_pages_in_node()
+ * present_pages = zone_spanned_pages_in_node() - __absent_pages_in_range()
*/
static unsigned long __init zone_spanned_pages_in_node(int nid,
unsigned long zone_type,
@@ -1297,9 +1284,8 @@ static void __init calculate_node_totalpages(struct pglist_data *pgdat,
node_end_pfn,
&zone_start_pfn,
&zone_end_pfn);
- absent = zone_absent_pages_in_node(pgdat->node_id, i,
- zone_start_pfn,
- zone_end_pfn);
+ absent = __absent_pages_in_range(pgdat->node_id, zone_start_pfn,
+ zone_end_pfn);

real_size = spanned - absent;

--
2.43.0