[RFC PATCH v2 03/21] mm/zsmalloc: replace first_page to first_zsdesc in struct zspage

From: Hyeonggon Yoo
Date: Thu Jul 13 2023 - 00:21:20 EST


Replace first_page to first_zsdesc in struct zspage for further
conversion.

Signed-off-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>
---
mm/zsmalloc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 11c203e79c39..8f7d9b79d849 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -234,7 +234,7 @@ struct zspage {
};
unsigned int inuse;
unsigned int freeobj;
- struct page *first_page;
+ struct zsdesc *first_zsdesc;
struct list_head list; /* fullness list */
struct zs_pool *pool;
rwlock_t lock;
@@ -512,7 +512,7 @@ static inline void mod_zspage_inuse(struct zspage *zspage, int val)

static inline struct page *get_first_page(struct zspage *zspage)
{
- struct page *first_page = zspage->first_page;
+ struct page *first_page = zsdesc_page(zspage->first_zsdesc);

VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
return first_page;
@@ -1024,7 +1024,7 @@ static void create_page_chain(struct size_class *class, struct zspage *zspage,
set_page_private(page, (unsigned long)zspage);
page->index = 0;
if (i == 0) {
- zspage->first_page = page;
+ zspage->first_zsdesc = page_zsdesc(page);
SetPagePrivate(page);
if (unlikely(class->objs_per_zspage == 1 &&
class->pages_per_zspage == 1))
@@ -1398,7 +1398,7 @@ static unsigned long obj_malloc(struct zs_pool *pool,
link->handle = handle;
else
/* record handle to page->index */
- zspage->first_page->index = handle;
+ zspage->first_zsdesc->handle = handle;

kunmap_atomic(vaddr);
mod_zspage_inuse(zspage, 1);
--
2.41.0