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 06/11] mm/ksm: use folio in write_protect_page
Date: Wed, 20 Mar 2024 14:57:06 +0000 [thread overview]
Message-ID: <Zfr5QgvplFSury6o@casper.infradead.org> (raw)
In-Reply-To: <20240320074049.4130552-7-alexs@kernel.org>
On Wed, Mar 20, 2024 at 03:40:42PM +0800, alexs@kernel.org wrote:
> -static int write_protect_page(struct vm_area_struct *vma, struct page *page,
> +static int write_protect_page(struct vm_area_struct *vma, struct folio *folio,
> pte_t *orig_pte)
> {
> struct mm_struct *mm = vma->vm_mm;
> - DEFINE_PAGE_VMA_WALK(pvmw, page, vma, 0, 0);
> + DEFINE_PAGE_VMA_WALK(pvmw, &folio->page, vma, 0, 0);
We have a DEFINE_FOLIO_VMA_WALK
> - pvmw.address = page_address_in_vma(page, vma);
> + pvmw.address = page_address_in_vma(&folio->page, vma);
We don't yet have a folio_address_in_vma(). This needs more study,
so I approve of how you've converted this line.
> - BUG_ON(PageTransCompound(page));
I might make this a VM_BUG_ON(folio_test_large(folio))
> @@ -1505,7 +1503,7 @@ static int try_to_merge_one_page(struct vm_area_struct *vma,
> * ptes are necessarily already write-protected. But in either
> * case, we need to lock and check page_count is not raised.
> */
> - if (write_protect_page(vma, page, &orig_pte) == 0) {
> + if (write_protect_page(vma, (struct folio *)page, &orig_pte) == 0) {
I don't love this cast. I see why it's safe (called split_huge_page()
above), but I'd rather see a call to page_folio() just to keep things
tidy.
next prev parent reply other threads:[~2024-03-20 14:57 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
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 [this message]
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=Zfr5QgvplFSury6o@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).