linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: alexs@kernel.org
Cc: Izik Eidus <izik.eidus@ravellosystems.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Hugh Dickins <hughd@google.com>,
	Chris Wright <chrisw@sous-sol.org>,
	kasong@tencent.com, Andrew Morton <akpm@linux-foundation.org>,
	"open list:MEMORY MANAGEMENT" <linux-mm@kvack.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 01/11] mm/ksm: Convert get_ksm_page to return a folio
Date: Wed, 20 Mar 2024 12:54:34 +0000	[thread overview]
Message-ID: <ZfrcihNz74lDDg1J@casper.infradead.org> (raw)
In-Reply-To: <20240320074049.4130552-2-alexs@kernel.org>

On Wed, Mar 20, 2024 at 03:40:37PM +0800, alexs@kernel.org wrote:
> -static struct page *get_ksm_page(struct ksm_stable_node *stable_node,
> +static void *get_ksm_page(struct ksm_stable_node *stable_node,
>  				 enum get_ksm_page_flags flags)

I am really not a fan of returning void * instead of a page or a
folio.  Particularly since you rename this function at the end anyway!

You should do it like this:

In this patch, convert get_ksm_page() to get_ksm_folio() and add:

static struct page *get_ksm_page(struct ksm_stable_node *stable_node,
		enum get_ksm_page_flags flags)
{
	struct folio *folio = get_ksm_folio(node, flags);
	return &folio->page;
}

Then convert each call-site to get_ksm_folio(), and finally delete
get_ksm_page().  That way you're always converting each caller to
the exact code you want it to look like, and your reiewrs don't have to
keep three patches in their head at once as they review each place.

Also, I think this should be ksm_get_folio(), not get_ksm_folio().
Seems to fit better.

> @@ -949,32 +949,32 @@ static struct page *get_ksm_page(struct ksm_stable_node *stable_node,
>  		 * in the ref_freeze section of __remove_mapping(); but Anon
>  		 * page->mapping reset to NULL later, in free_pages_prepare().

Could you fix page->mapping to folio->mapping in the comment?



  reply	other threads:[~2024-03-20 12:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20240320074049.4130552-1-alexs@kernel.org>
2024-03-20  7:40 ` [PATCH 01/11] mm/ksm: Convert get_ksm_page to return a folio alexs
2024-03-20 12:54   ` Matthew Wilcox [this message]
2024-03-21  2:07     ` Alex Shi
2024-03-20  7:40 ` [PATCH 02/11] mm/ksm: use a folio in remove_rmap_item_from_tree alexs
2024-03-20  7:40 ` [PATCH 03/11] mm/ksm: use a folio in remove_stable_node alexs
2024-03-20 13:00   ` Matthew Wilcox
2024-03-20  7:40 ` [PATCH 04/11] mm/ksm: use folio in stable_node_dup alexs
2024-03-20  7:40 ` [PATCH 05/11] mm/ksm: use a folio in scan_get_next_rmap_item func alexs
2024-03-20  7:40 ` [PATCH 06/11] mm/ksm: use folio in write_protect_page alexs
2024-03-20 14:57   ` Matthew Wilcox
2024-03-20  7:40 ` [PATCH 07/11] mm/ksm: Convert chain series funcs to use folio alexs
2024-03-20  7:40 ` [PATCH 08/11] mm/ksm: Convert stable_tree_insert " alexs
2024-03-20  7:40 ` [PATCH 09/11] mm/ksm: Convert stable_tree_search " alexs
2024-03-20 15:26   ` Matthew Wilcox
2024-03-21  1:47     ` Alex Shi
2024-03-20  7:40 ` [PATCH 10/11] mm/ksm: rename get_ksm_page to get_ksm_folio and return type alexs
2024-03-20  7:40 ` [PATCH 11/11] mm/ksm: return folio for chain series funcs alexs

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=ZfrcihNz74lDDg1J@casper.infradead.org \
    --to=willy@infradead.org \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexs@kernel.org \
    --cc=chrisw@sous-sol.org \
    --cc=hughd@google.com \
    --cc=izik.eidus@ravellosystems.com \
    --cc=kasong@tencent.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).