[PATCH v3] mm/page_alloc: Simplify free_page_is_bad by removing free_page_is_bad_report

From: Ye Liu
Date: Tue Mar 25 2025 - 21:25:18 EST


From: Ye Liu <liuye@xxxxxxxxxx>

Refactors the free_page_is_bad function by directly calling bad_page()
instead of using the intermediary function free_page_is_bad_report().
The removal of free_page_is_bad_report() reduces unnecessary indirection,
making the code cleaner and easier to read.

The functionality remains the same, as free_page_is_bad_report() was
merely a wrapper for the bad_page() call. The patch also improves
maintainability by reducing the function call depth.

Signed-off-by: Ye Liu <liuye@xxxxxxxxxx>
Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>

---
V3: Delete 'This patch'.
V2: Simplify the code by removing unnecessary line breaks.
---
---
mm/page_alloc.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 61d6a3b1b286..60c54ba78a11 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -933,19 +933,13 @@ static const char *page_bad_reason(struct page *page, unsigned long flags)
return bad_reason;
}

-static void free_page_is_bad_report(struct page *page)
-{
- bad_page(page,
- page_bad_reason(page, PAGE_FLAGS_CHECK_AT_FREE));
-}
-
static inline bool free_page_is_bad(struct page *page)
{
if (likely(page_expected_state(page, PAGE_FLAGS_CHECK_AT_FREE)))
return false;

/* Something has gone sideways, find it */
- free_page_is_bad_report(page);
+ bad_page(page, page_bad_reason(page, PAGE_FLAGS_CHECK_AT_FREE));
return true;
}

--
2.25.1