Linux-Fsdevel Archive on
help / color / mirror / Atom feed
From: Matthew Wilcox <>
To: Andrew Morton <>
Cc: David Howells <>,,,
	Eric Biggers <>
Subject: Re: [PATCH 3/9] mm/readahead: Make page_cache_ra_unbounded take a readahead_control
Date: Thu, 3 Sep 2020 20:33:10 +0100	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On Thu, Sep 03, 2020 at 12:22:18PM -0700, Andrew Morton wrote:
> On Thu,  3 Sep 2020 15:08:38 +0100 "Matthew Wilcox (Oracle)" <> wrote:
> > Define it in the callers instead of in page_cache_ra_unbounded().
> > 
> The changelogs for patches 2-9 are explaining what the patches do, but
> not why they do it, Presumably there's some grand scheme in mind, but
> it isn't being revealed to the reader!

Sorry!  For both pieces of infrastructure being build on top of this
patchset, we want the ractl to be available higher in the call-stack.

For David's work, he wants to add the 'critical page' to the ractl so that
he knows which page NEEDS to be brought in from storage, and which ones
are nice-to-have.  We might want something similar in block storage too.
It used to be simple -- the first page was the critical one, but then
mmap added fault-around and so for that usecase, the middle page is
the critical one.  Anyway, I don't have any code to show that yet,
we just know that the lowest point in the callchain where we have that
information is do_sync_mmap_readahead() and so the ractl needs to start
its life there.

For THP, I can show you the code that needs it.  It's actually the
apex patch to the series; the one which finally starts to allocate
THPs and present them to consenting filesystems:

This doesn't need the ractl to be available as high in the stack as
David does, which is why he did the last few patches.

  reply	other threads:[~2020-09-03 19:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-03 14:08 [PATCH 0/9] Readahead patches for 5.9/5.10 Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 1/9] Fix khugepaged's request size in collapse_file Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 2/9] mm/readahead: Add DEFINE_READAHEAD Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 3/9] mm/readahead: Make page_cache_ra_unbounded take a readahead_control Matthew Wilcox (Oracle)
2020-09-03 19:22   ` Andrew Morton
2020-09-03 19:33     ` Matthew Wilcox [this message]
2020-09-03 14:08 ` [PATCH 4/9] mm/readahead: Make do_page_cache_ra " Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 5/9] mm/readahead: Make ondemand_readahead " Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 6/9] mm/readahead: Pass readahead_control to force_page_cache_ra Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 7/9] mm/readahead: Add page_cache_sync_ra and page_cache_async_ra Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 8/9] mm/filemap: Fold ra_submit into do_sync_mmap_readahead Matthew Wilcox (Oracle)
2020-09-03 14:08 ` [PATCH 9/9] mm/readahead: Pass a file_ra_state into force_page_cache_ra Matthew Wilcox (Oracle)

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \
    --subject='Re: [PATCH 3/9] mm/readahead: Make page_cache_ra_unbounded take a readahead_control' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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