All of lore.kernel.org
 help / color / mirror / Atom feed
From: alexs@kernel.org
To: Matthew Wilcox <willy@infradead.org>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Izik Eidus <izik.eidus@ravellosystems.com>,
	david@redhat.com, Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	ryncsn@gmail.com
Cc: "Alex Shi (tencent)" <alexs@kernel.org>,
	Hugh Dickins <hughd@google.com>,
	Chris Wright <chrisw@sous-sol.org>
Subject: [PATCH v3 08/14] mm/ksm: Convert chain series funcs to use folio
Date: Mon, 25 Mar 2024 20:48:55 +0800	[thread overview]
Message-ID: <20240325124904.398913-9-alexs@kernel.org> (raw)
In-Reply-To: <20240325124904.398913-1-alexs@kernel.org>

From: "Alex Shi (tencent)" <alexs@kernel.org>

In ksm stable tree all page are single, let's convert them to use folios.
Change return type to void is ugly, but for a series funcs, it's still a
bit simpler than adding new funcs. And they will be changed to 'struct
folio' soon.

Signed-off-by: Alex Shi (tencent) <alexs@kernel.org>
Cc: Izik Eidus <izik.eidus@ravellosystems.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Chris Wright <chrisw@sous-sol.org>
---
 mm/ksm.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/ksm.c b/mm/ksm.c
index 5d1f62e7462a..7188997437d3 100644
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -1777,7 +1777,7 @@ static struct ksm_stable_node *stable_node_dup_any(struct ksm_stable_node *stabl
  * function and will be overwritten in all cases, the caller doesn't
  * need to initialize it.
  */
-static struct page *__stable_node_chain(struct ksm_stable_node **_stable_node_dup,
+static void *__stable_node_chain(struct ksm_stable_node **_stable_node_dup,
 					struct ksm_stable_node **_stable_node,
 					struct rb_root *root,
 					bool prune_stale_stable_nodes)
@@ -1799,24 +1799,24 @@ static struct page *__stable_node_chain(struct ksm_stable_node **_stable_node_du
 			       prune_stale_stable_nodes);
 }
 
-static __always_inline struct page *chain_prune(struct ksm_stable_node **s_n_d,
+static __always_inline void *chain_prune(struct ksm_stable_node **s_n_d,
 						struct ksm_stable_node **s_n,
 						struct rb_root *root)
 {
 	return __stable_node_chain(s_n_d, s_n, root, true);
 }
 
-static __always_inline struct page *chain(struct ksm_stable_node **s_n_d,
+static __always_inline void *chain(struct ksm_stable_node **s_n_d,
 					  struct ksm_stable_node *s_n,
 					  struct rb_root *root)
 {
 	struct ksm_stable_node *old_stable_node = s_n;
-	struct page *tree_page;
+	struct folio *tree_folio;
 
-	tree_page = __stable_node_chain(s_n_d, &s_n, root, false);
+	tree_folio = __stable_node_chain(s_n_d, &s_n, root, false);
 	/* not pruning dups so s_n cannot have changed */
 	VM_BUG_ON(s_n != old_stable_node);
-	return tree_page;
+	return tree_folio;
 }
 
 /*
-- 
2.43.0


  parent reply	other threads:[~2024-03-25 12:46 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-25 12:48 [PATCH v2 00/14] transfer page to folio in KSM alexs
2024-03-25 12:47 ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 01/14] mm/ksm: add ksm_get_folio alexs
2024-04-05  7:23   ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 02/14] mm/ksm: use folio in remove_rmap_item_from_tree alexs
2024-04-05  7:24   ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 03/14] mm/ksm: add folio_set_stable_node alexs
2024-04-05  7:25   ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 04/14] mm/ksm: use folio in remove_stable_node alexs
2024-04-05  7:26   ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 05/14] mm/ksm: use folio in stable_node_dup alexs
2024-04-05  7:27   ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 06/14] mm/ksm: use ksm_get_folio in scan_get_next_rmap_item alexs
2024-04-05  7:28   ` David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 07/14] mm/ksm: use folio in write_protect_page alexs
2024-04-05  7:23   ` David Hildenbrand
2024-04-08  6:58     ` Alex Shi
2024-03-25 12:48 ` alexs [this message]
2024-04-05  7:36   ` [PATCH v3 08/14] mm/ksm: Convert chain series funcs to use folio David Hildenbrand
2024-03-25 12:48 ` [PATCH v3 09/14] mm/ksm: Convert stable_tree_insert " alexs
2024-03-25 12:48 ` [PATCH v3 10/14] mm/ksm: Convert stable_tree_search " alexs
2024-03-25 12:48 ` [PATCH v3 11/14] mm/ksm: remove get_ksm_page and related info alexs
2024-04-05  9:06   ` David Hildenbrand
2024-04-08  6:59     ` Alex Shi
2024-03-25 12:48 ` [PATCH v3 12/14] mm/ksm: return folio for chain series funcs alexs
2024-03-25 12:49 ` [PATCH v3 13/14] mm/ksm: use folio_set_stable_node in try_to_merge_one_page alexs
2024-04-05  9:06   ` David Hildenbrand
2024-03-25 12:49 ` [PATCH v3 14/14] mm/ksm: remove set_page_stable_node alexs
2024-04-05  7:32   ` David Hildenbrand
2024-04-08  7:00     ` Alex Shi
2024-04-05  9:07   ` David Hildenbrand
2024-04-08  7:01     ` Alex Shi

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=20240325124904.398913-9-alexs@kernel.org \
    --to=alexs@kernel.org \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=chrisw@sous-sol.org \
    --cc=david@redhat.com \
    --cc=hughd@google.com \
    --cc=izik.eidus@ravellosystems.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ryncsn@gmail.com \
    --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.