From: Minchan Kim <minchan@kernel.org>
To: Barry Song <21cnbao@gmail.com>
Cc: David Hildenbrand <david@redhat.com>,
akpm@linux-foundation.org, linux-mm@kvack.org, mhocko@suse.com,
fengbaopeng@honor.com, gaoxu2@honor.com, hailong.liu@oppo.com,
kaleshsingh@google.com, linux-kernel@vger.kernel.org,
lokeshgidra@google.com, ngeoffray@google.com, shli@fb.com,
surenb@google.com, yipengxiang@honor.com, yuzhao@google.com,
Barry Song <v-songbaohua@oppo.com>
Subject: Re: [PATCH RFC] mm: mglru: provide a separate list for lazyfree anon folios
Date: Mon, 23 Sep 2024 15:19:14 -0700 [thread overview]
Message-ID: <ZvHpYqzt9Rj5W8mt@google.com> (raw)
In-Reply-To: <CAGsJ_4zdqXtvUS8fHzUhM=iGrPpC8X7uw8wt4sSfCvsrh7um3w@mail.gmail.com>
On Fri, Sep 20, 2024 at 01:23:57PM +1200, Barry Song wrote:
> On Wed, Sep 18, 2024 at 12:02 AM David Hildenbrand <david@redhat.com> wrote:
> >
> > On 14.09.24 08:37, Barry Song wrote:
> > > From: Barry Song <v-songbaohua@oppo.com>
> > >
> > > This follows up on the discussion regarding Gaoxu's work[1]. It's
> > > unclear if there's still interest in implementing a separate LRU
> > > list for lazyfree folios, but I decided to explore it out of
> > > curiosity.
> > >
> > > According to Lokesh, MADV_FREE'd anon folios are expected to be
> > > released earlier than file folios. One option, as implemented
> > > by Gao Xu, is to place lazyfree anon folios at the tail of the
> > > file's `min_seq` generation. However, this approach results in
> > > lazyfree folios being released in a LIFO manner, which conflicts
> > > with LRU behavior, as noted by Michal.
> > >
> > > To address this, this patch proposes maintaining a separate list
> > > for lazyfree anon folios while keeping them classified under the
> > > "file" LRU type to minimize code changes. These lazyfree anon
> > > folios will still be counted as file folios and share the same
> > > generation with regular files. In the eviction path, the lazyfree
> > > list will be prioritized for scanning before the actual file
> > > LRU list.
> > >
> >
> > What's the downside of another LRU list? Do we have any experience on that?
>
> Essentially, the goal is to address the downsides of using a single LRU list for
> files and lazyfree anonymous pages - seriously more files re-faults.
>
> I'm not entirely clear on the downsides of having an additional LRU
> list. While it
> does increase complexity, it doesn't seem to be significant.
It's not a catastrophic[1]. I prefer the idea of an additional LRU
because it offers flexibility for various potential use cases[2].
orthgonal topic(but may be interest for someone)
My main interest in a new LRU list is to enable the system to maintain a
quickly reclaimable memory pool and expose the size to the admin with
a knob to decide how many memory pool they want.
This pool would consist of clean, unmapped pages from both the page cache
and/or the swap cache. This would allow the system to reclaim memory quickly
when free memory is low, at the cost of minor fault overhead.
[1] https://lore.kernel.org/linux-kernel//1448006568-16031-15-git-send-email-minchan@kernel.org/
[2] https://lkml.org/lkml/2012/6/19/24
next prev parent reply other threads:[~2024-12-05 15:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-14 6:37 Barry Song
2024-09-15 0:58 ` wang wei
2024-10-16 2:54 ` Barry Song
2024-09-17 12:02 ` David Hildenbrand
2024-09-20 1:23 ` Barry Song
2024-09-23 22:19 ` Minchan Kim [this message]
2024-09-23 22:38 ` Barry Song
2024-09-24 20:12 ` Minchan Kim
2024-10-15 10:03 ` 回复: " gaoxu
2024-10-15 20:10 ` Barry Song
2024-10-16 1:25 ` 回复: " gaoxu
2024-09-18 6:19 ` gaoxu
2024-09-20 1:17 ` Barry Song
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=ZvHpYqzt9Rj5W8mt@google.com \
--to=minchan@kernel.org \
--cc=21cnbao@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=fengbaopeng@honor.com \
--cc=gaoxu2@honor.com \
--cc=hailong.liu@oppo.com \
--cc=kaleshsingh@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lokeshgidra@google.com \
--cc=mhocko@suse.com \
--cc=ngeoffray@google.com \
--cc=shli@fb.com \
--cc=surenb@google.com \
--cc=v-songbaohua@oppo.com \
--cc=yipengxiang@honor.com \
--cc=yuzhao@google.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