From: Linus Torvalds <torvalds@linux-foundation.org>
To: David Hildenbrand <david@redhat.com>
Cc: Hugh Dickins <hughd@google.com>,
Kiryl Shutsemau <kirill@shutemov.name>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Wilcox <willy@infradead.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Yang Shi <shy828301@gmail.com>,
Dave Chinner <david@fromorbit.com>,
Suren Baghdasaryan <surenb@google.com>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/filemap: Implement fast short reads
Date: Mon, 27 Oct 2025 09:48:57 -0700 [thread overview]
Message-ID: <CAHk-=wjgm=xTvbu4zEn3kFRC8bF8XXrOdK5fZj8iNbDn5bGB2g@mail.gmail.com> (raw)
In-Reply-To: <7bfd0822-5687-4ddc-9637-0cedd404c34e@redhat.com>
On Mon, 27 Oct 2025 at 09:06, David Hildenbrand <david@redhat.com> wrote:
>
> So I really wish that we can defer optimizing this to freeing folios
> under RCU instead.
So just to see, I dug around when we started to do the rcu-protected
folio lookup (well, it was obviously not a folio at the time).
Mainly because we actually had a lot more of those subtle
folio_try_get() users than I expected us to have,
It goes back to July 2008 (commit e286781d5f2e: "mm: speculative page
references" being the first in the series).
I do have to say that the original naming was better: we used to call
the "try_get" operation "page_cache_get_speculative()", which made it
very clear that it was doing something speculative and different from
some of our other rcu patterns, where if it's successful it's all
good.
Because even when successful, the folio in folio_try_get() is still
speculative and needs checking.
Not all of our current users seem to re-verify the source of the folio
afterwards (deferred_split_scan() makes me go "Uhh - you seem to rely
on folio_try_get() as some kind of validity check" for example).
Oh well. This is all entirely unrelated to the suggested patch, just
musings from me looking at that other code that I think is a lot more
subtle and people don't seem to have issues with.
Linus
next prev parent reply other threads:[~2025-10-27 16:49 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-17 14:15 Kiryl Shutsemau
2025-10-18 2:38 ` kernel test robot
2025-10-18 3:54 ` kernel test robot
2025-10-18 4:46 ` kernel test robot
2025-10-18 17:56 ` Linus Torvalds
2025-10-20 11:03 ` Kiryl Shutsemau
2025-10-20 4:53 ` Andrew Morton
2025-10-20 11:33 ` Kiryl Shutsemau
2025-10-21 15:50 ` Linus Torvalds
2025-10-21 23:39 ` Dave Chinner
2025-10-22 4:25 ` Linus Torvalds
2025-10-22 8:00 ` Dave Chinner
2025-10-22 15:31 ` Linus Torvalds
2025-10-23 7:50 ` Dave Chinner
2025-10-23 9:37 ` Jan Kara
2025-10-21 15:47 ` Linus Torvalds
2025-10-22 7:08 ` Pedro Falcato
2025-10-22 7:13 ` Linus Torvalds
2025-10-22 7:38 ` Pedro Falcato
2025-10-22 10:00 ` Kiryl Shutsemau
2025-10-22 17:28 ` David Hildenbrand
2025-10-23 10:31 ` Kiryl Shutsemau
2025-10-23 10:54 ` David Hildenbrand
2025-10-23 11:09 ` Kiryl Shutsemau
2025-10-23 12:08 ` David Hildenbrand
2025-10-23 11:10 ` David Hildenbrand
2025-10-23 11:11 ` David Hildenbrand
2025-10-23 11:40 ` Kiryl Shutsemau
2025-10-23 11:49 ` David Hildenbrand
2025-10-23 12:41 ` Kiryl Shutsemau
2025-10-23 17:42 ` Yang Shi
2025-10-27 10:49 ` Hugh Dickins
2025-10-27 15:50 ` Linus Torvalds
2025-10-27 16:06 ` David Hildenbrand
2025-10-27 16:48 ` Linus Torvalds [this message]
2025-10-27 16:53 ` David Hildenbrand
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='CAHk-=wjgm=xTvbu4zEn3kFRC8bF8XXrOdK5fZj8iNbDn5bGB2g@mail.gmail.com' \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=david@fromorbit.com \
--cc=david@redhat.com \
--cc=hughd@google.com \
--cc=jack@suse.cz \
--cc=kirill@shutemov.name \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=shy828301@gmail.com \
--cc=surenb@google.com \
--cc=viro@zeniv.linux.org.uk \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox