[PATCH v7 20/21] mm/zsmalloc: introduce zpdesc_clear_first() helper

From: alexs
Date: Mon Sep 02 2024 - 03:21:09 EST


From: Alex Shi <alexs@xxxxxxxxxx>

Like the zpdesc_set_first(), introduce zpdesc_clear_first() helper for
ClearPagePrivate(), then clean up a 'struct page' usage in
reset_zpdesc().

Signed-off-by: Alex Shi <alexs@xxxxxxxxxx>
---
mm/zsmalloc.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 411621f00a02..849f192d4937 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -253,6 +253,11 @@ static inline void zpdesc_set_first(struct zpdesc *zpdesc)
SetPagePrivate(zpdesc_page(zpdesc));
}

+static inline void zpdesc_clear_first(struct zpdesc *zpdesc)
+{
+ ClearPagePrivate(zpdesc_page(zpdesc));
+}
+
static inline void zpdesc_inc_zone_page_state(struct zpdesc *zpdesc)
{
inc_zone_page_state(zpdesc_page(zpdesc), NR_ZSPAGES);
@@ -832,10 +837,8 @@ static inline bool obj_allocated(struct zpdesc *zpdesc, void *obj,

static void reset_zpdesc(struct zpdesc *zpdesc)
{
- struct page *page = zpdesc_page(zpdesc);
-
__zpdesc_clear_movable(zpdesc);
- ClearPagePrivate(page);
+ zpdesc_clear_first(zpdesc);
zpdesc->zspage = NULL;
zpdesc->next = NULL;
__zpdesc_clear_zsmalloc(zpdesc);
--
2.46.0