Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Rik van Riel <riel@surriel.com>
To: John Hubbard <jhubbard@nvidia.com>,
	"David Hildenbrand (Arm)" <david@kernel.org>,
	linux-kernel@vger.kernel.org
Cc: kernel-team@meta.com, Andrew Morton <akpm@linux-foundation.org>,
	Jason Gunthorpe <jgg@ziepe.ca>, Peter Xu <peterx@redhat.com>,
	linux-mm@kvack.org
Subject: Re: [RFC PATCH v3 3/8] mm/gup: split follow_page_pte_commit() out of follow_page_pte()
Date: Mon, 24 Aug 2026 09:20:04 -0400	[thread overview]
Message-ID: <99b9a43505c0dba4c656bf950869f76f95e399ce.camel@surriel.com> (raw)
In-Reply-To: <42d8fc20-4ee6-4bed-b2b4-3f968bd29f5d@nvidia.com>

On Sat, 2026-08-22 at 14:31 -0700, John Hubbard wrote:
> 
> Its workaround is folio_set_checked(), which defers the real work to
> ext4_writepages(). If ext4 can't do the preparation from inside the
> dirty call, a driver can't either.
> 
> So for a file-backed page there's nothing the driver can add. What's
> missing is a way for the filesystem to be told before the device
> writes, and to revoke the pin when it needs to, which is where the
> lease proposals come in. None of that exists today.
> 
> And yes, unpin_user_pages_dirty_lock() is in the same awkward mess.

That still leaves the question on what to do with
code paths that rely on get_user_pages(FOLL_WRITE)
to set the dirty bit on pages, and then do not set
the dirty bit themselves after they write the page.

Would it be better to move the dirty bit setting
till after the write (to the page) has happened,
even if that code does not queue up a filesystem
write?

Does unpin_user_pages_dirty_lock() need to call
Folio_set_checked() ?

You've made it pretty clear what is wrong, but
I'm confused as to how we could improve the situation,
at least without waiting for extensive filesystem
changes first.

-- 
All Rights Reversed.


  reply	other threads:[~2026-08-24 13:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-11  2:51 [RFC PATCH v3 0/8] batch lookups in follow_page_mask() Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 1/8] mm/gup: break out gup_fill_pages() helper Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 2/8] mm/gup: convert follow_page_mask() to return a long Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 3/8] mm/gup: split follow_page_pte_commit() out of follow_page_pte() Rik van Riel
2026-08-12 11:50   ` David Hildenbrand (Arm)
2026-08-12 13:02     ` Rik van Riel
2026-08-12 13:23       ` David Hildenbrand (Arm)
2026-08-12 16:19         ` Rik van Riel
2026-08-21 17:38         ` Rik van Riel
2026-08-21 22:04           ` John Hubbard
2026-08-22 13:20             ` Rik van Riel
2026-08-22 21:31               ` John Hubbard
2026-08-24 13:20                 ` Rik van Riel [this message]
2026-08-11  2:51 ` [RFC PATCH v3 4/8] mm/gup: break out follow_one_pte() helper Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 5/8] mm/gup: fill the pages array outside the pud/pmd lock Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 6/8] mm/gup: return a huge page's full count from follow_page_mask() Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 7/8] mm/gup: walk multiple PTEs per follow_page_pte() call Rik van Riel
2026-08-11  2:51 ` [RFC PATCH v3 8/8] mm/gup: batch contiguous same-folio PTEs into one refcount grab Rik van Riel
2026-08-12 11:41 ` [RFC PATCH v3 0/8] batch lookups in follow_page_mask() David Hildenbrand (Arm)

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=99b9a43505c0dba4c656bf950869f76f95e399ce.camel@surriel.com \
    --to=riel@surriel.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@kernel.org \
    --cc=jgg@ziepe.ca \
    --cc=jhubbard@nvidia.com \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterx@redhat.com \
    /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