linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
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 17:53:19 +0100	[thread overview]
Message-ID: <b49e12b1-acc1-4150-9ab8-63c05d45ea90@redhat.com> (raw)
In-Reply-To: <CAHk-=wjgm=xTvbu4zEn3kFRC8bF8XXrOdK5fZj8iNbDn5bGB2g@mail.gmail.com>

On 27.10.25 17:48, Linus Torvalds wrote:
> 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.

Right, and we only access its content after verifying that (a) it is the 
one we wanted to access and (b) stabilizing it, so it will stay that way.

> 
> 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).

Note that deferred_split_scan() only operates with anon folios and has 
some nasty NASTY interaction with folio freeing. :)

-- 
Cheers

David / dhildenb



      reply	other threads:[~2025-10-27 16:53 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
2025-10-27 16:53               ` David Hildenbrand [this message]

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=b49e12b1-acc1-4150-9ab8-63c05d45ea90@redhat.com \
    --to=david@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=brauner@kernel.org \
    --cc=david@fromorbit.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=torvalds@linux-foundation.org \
    --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