From: Yu Zhao <yuzhao@google.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: Zhaoyang Huang <huangzhaoyang@gmail.com>,
"zhaoyang.huang" <zhaoyang.huang@unisoc.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
steve.kang@unisoc.com
Subject: Re: [RFC PATCH 1/1] mm: mark folio accessed in minor fault
Date: Wed, 20 Dec 2023 21:53:19 -0700 [thread overview]
Message-ID: <CAOUHufZ-hAAB+9iL3K-YokN4oVJoiC9dVQ+6zLu-M4Ag52TY5g@mail.gmail.com> (raw)
In-Reply-To: <ZYO6bLcCRYlo290g@casper.infradead.org>
On Wed, Dec 20, 2023 at 9:09 PM Matthew Wilcox <willy@infradead.org> wrote:
>
> On Thu, Dec 21, 2023 at 09:58:25AM +0800, Zhaoyang Huang wrote:
> > On Wed, Dec 20, 2023 at 10:14 PM Matthew Wilcox <willy@infradead.org> wrote:
> > >
> > > On Wed, Dec 20, 2023 at 06:29:48PM +0800, zhaoyang.huang wrote:
> > > > From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
> > > >
> > > > Inactive mapped folio will be promoted to active only when it is
> > > > scanned in shrink_inactive_list, while the vfs folio will do this
> > > > immidiatly when it is accessed. These will introduce two affections:
> > > >
> > > > 1. NR_ACTIVE_FILE is not accurate as expected.
> > > > 2. Low reclaiming efficiency caused by dummy nactive folio which should
> > > > be kept as earlier as shrink_active_list.
> > > >
> > > > I would like to suggest mark the folio be accessed in minor fault to
> > > > solve this situation.
> > >
> > > This isn't going to be as effective as you imagine. Almost all file
> > > faults are handled through filemap_map_pages(). So I must ask, what
> > > testing have you done with this patch?
> > >
> > > And while you're gathering data, what effect would this patch have on your
> > > workloads?
> > Thanks for heads-up, I am out of date for readahead mechanism. My goal
>
> It's not a terribly new mechanism ... filemap_map_pages() was added nine
> years ago in 2014 by commit f1820361f83d
>
> > is to have mapped file pages behave like other pages which could be
> > promoted immediately when they are accessed. I will update the patch
> > and provide benchmark data in new patch set.
>
> Understood. I don't know the history of this, so I'm not sure if the
> decision to not mark folios as accessed here was intentional or not.
> I suspect it's entirely unintentional.
It's intentional. For the active/inactive LRU, all folios start
inactive. The first scan of a folio transfers the A-bit (if it's set
during the initial fault) to PG_referenced; the second scan of this
folio, if the A-bit is set again, moves it to the active list. This
way single-use folios, i.e., folios mapped for file streaming, can be
reclaimed quickly, since they are "demoted" rather than "promoted" on
the second scan. This RFC would regress memory streaming workloads.
next prev parent reply other threads:[~2023-12-21 4:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-20 10:29 zhaoyang.huang
2023-12-20 14:14 ` Matthew Wilcox
2023-12-21 1:58 ` Zhaoyang Huang
2023-12-21 4:09 ` Matthew Wilcox
2023-12-21 4:53 ` Yu Zhao [this message]
2023-12-21 6:28 ` Zhaoyang Huang
2023-12-21 6:32 ` Yu Zhao
2023-12-22 5:53 ` Zhaoyang Huang
2023-12-22 6:14 ` Yu Zhao
2023-12-22 6:28 ` reply: " 黄朝阳 (Zhaoyang Huang)
2023-12-22 6:45 ` Yu Zhao
2023-12-22 8:41 ` Zhaoyang Huang
2023-12-22 9:41 ` reply: " 黄朝阳 (Zhaoyang Huang)
2023-12-23 2:41 ` Yu Zhao
2024-01-02 5:36 ` Zhaoyang Huang
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=CAOUHufZ-hAAB+9iL3K-YokN4oVJoiC9dVQ+6zLu-M4Ag52TY5g@mail.gmail.com \
--to=yuzhao@google.com \
--cc=akpm@linux-foundation.org \
--cc=huangzhaoyang@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=steve.kang@unisoc.com \
--cc=willy@infradead.org \
--cc=zhaoyang.huang@unisoc.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