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

Ye Liu posted 1 patch 8 months, 4 weeks ago
There is a newer version of this series
mm/page_alloc.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
[PATCH v3] mm/page_alloc: Simplify free_page_is_bad by removing free_page_is_bad_report
Posted by Ye Liu 8 months, 4 weeks ago
From: Ye Liu <liuye@kylinos.cn>

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@kylinos.cn>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>

---
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
Re: [PATCH v3] mm/page_alloc: Simplify free_page_is_bad by removing free_page_is_bad_report
Posted by Oscar Salvador 8 months, 3 weeks ago
On Wed, Mar 26, 2025 at 09:24:34AM +0800, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> 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.

I would trim this down.

> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Oscar Salvador <osalvador@suse.de>


-- 
Oscar Salvador
SUSE Labs