All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hyeonggon Yoo <42.hyeyoo@gmail.com>
To: Minchan Kim <minchan@kernel.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>
Subject: [RFC PATCH 11/25] mm/zsmalloc: convert init_zspage() to use zsdesc
Date: Mon, 20 Feb 2023 13:22:04 +0000	[thread overview]
Message-ID: <20230220132218.546369-12-42.hyeyoo@gmail.com> (raw)
In-Reply-To: <20230220132218.546369-1-42.hyeyoo@gmail.com>

Convert init_zspage() to use zsdesc and update its comment accordingly.

Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
---
 mm/zsmalloc.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index e1262c0a5ad4..cfcd63c50c36 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -1206,16 +1206,16 @@ static void init_zspage(struct size_class *class, struct zspage *zspage)
 {
 	unsigned int freeobj = 1;
 	unsigned long off = 0;
-	struct page *page = get_first_page(zspage);
+	struct zsdesc *zsdesc = get_first_zsdesc(zspage);
 
-	while (page) {
-		struct page *next_page;
+	while (zsdesc) {
+		struct zsdesc *next_zsdesc;
 		struct link_free *link;
 		void *vaddr;
 
-		set_first_obj_offset(page, off);
+		set_first_obj_offset(zsdesc_page(zsdesc), off);
 
-		vaddr = kmap_atomic(page);
+		vaddr = zsdesc_kmap_atomic(zsdesc);
 		link = (struct link_free *)vaddr + off / sizeof(*link);
 
 		while ((off += class->size) < PAGE_SIZE) {
@@ -1225,11 +1225,11 @@ static void init_zspage(struct size_class *class, struct zspage *zspage)
 
 		/*
 		 * We now come to the last (full or partial) object on this
-		 * page, which must point to the first object on the next
-		 * page (if present)
+		 * zsdesc, which must point to the first object on the next
+		 * zsdesc (if present)
 		 */
-		next_page = get_next_page(page);
-		if (next_page) {
+		next_zsdesc = get_next_zsdesc(zsdesc);
+		if (next_zsdesc) {
 			link->next = freeobj++ << OBJ_TAG_BITS;
 		} else {
 			/*
@@ -1239,7 +1239,7 @@ static void init_zspage(struct size_class *class, struct zspage *zspage)
 			link->next = -1UL << OBJ_TAG_BITS;
 		}
 		kunmap_atomic(vaddr);
-		page = next_page;
+		zsdesc = next_zsdesc;
 		off %= PAGE_SIZE;
 	}
 
-- 
2.25.1



  parent reply	other threads:[~2023-02-20 13:23 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-20 13:21 [RFC PATCH 00/25] mm/zsmalloc: Split zsdesc from struct page Hyeonggon Yoo
2023-02-20 13:21 ` [RFC PATCH 01/25] mm/zsmalloc: create new struct zsdesc Hyeonggon Yoo
2023-02-20 13:21 ` [RFC PATCH 02/25] mm/zsmalloc: add utility functions for zsdesc Hyeonggon Yoo
2023-02-27 15:30   ` Mike Rapoport
2023-03-01  6:19     ` Hyeonggon Yoo
2023-02-20 13:21 ` [RFC PATCH 03/25] mm/zsmalloc: replace first_page to first_zsdesc in struct zspage Hyeonggon Yoo
2023-02-20 13:21 ` [RFC PATCH 04/25] mm/zsmalloc: add alternatives of frequently used helper functions Hyeonggon Yoo
2023-02-20 13:21 ` [RFC PATCH 05/25] mm/zsmalloc: convert {try,}lock_zspage() to use zsdesc Hyeonggon Yoo
2023-02-20 13:21 ` [RFC PATCH 06/25] mm/zsmalloc: convert __zs_{map,unmap}_object() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 07/25] mm/zsmalloc: convert obj_to_location() and its users " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 08/25] mm/zsmalloc: convert obj_malloc() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 09/25] mm/zsmalloc: convert create_page_chain() and its users " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 10/25] mm/zsmalloc: convert obj_tagged() and related helpers " Hyeonggon Yoo
2023-02-20 13:22 ` Hyeonggon Yoo [this message]
2023-02-20 13:22 ` [RFC PATCH 12/25] mm/zsmalloc: convert obj_to_page() and zs_free() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 13/25] mm/zsmalloc: convert reset_page() to reset_zsdesc() Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 14/25] mm/zsmalloc: convert zs_page_{isolate,migrate,putback} to use zsdesc Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 15/25] mm/zsmalloc: convert __free_zspage() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 16/25] mm/zsmalloc: convert unlock_zspage() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 17/25] mm/zsmalloc: convert location_to_obj() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 18/25] mm/zsmalloc: convert free_handles() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 19/25] mm/zsmalloc: convert zs_compact_control and its users " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 20/25] mm/zsmalloc: convert get_zspage() to take zsdesc Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 21/25] mm/zsmalloc: convert SetZsPageMovable() to use zsdesc Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 22/25] mm/zsmalloc: convert restore_freelist() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 23/25] mm/zsmalloc: convert zs_reclaim_page() " Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 24/25] mm/zsmalloc: remove now unused helper functions Hyeonggon Yoo
2023-02-20 13:22 ` [RFC PATCH 25/25] mm/zsmalloc: convert {get,set}_first_obj_offset() to use zsdesc Hyeonggon Yoo
2023-02-24  0:01 ` [RFC PATCH 00/25] mm/zsmalloc: Split zsdesc from struct page Minchan Kim
2023-02-28  0:32   ` Hyeonggon Yoo
2023-02-28  2:02     ` Sergey Senozhatsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230220132218.546369-12-42.hyeyoo@gmail.com \
    --to=42.hyeyoo@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan@kernel.org \
    --cc=senozhatsky@chromium.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.