linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Yosry Ahmed <yosryahmed@google.com>
To: Huan Yang <link@vivo.com>
Cc: Wei Xu <weixugc@google.com>, David Rientjes <rientjes@google.com>,
	Tejun Heo <tj@kernel.org>,  Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	 Jonathan Corbet <corbet@lwn.net>,
	Michal Hocko <mhocko@kernel.org>,
	 Roman Gushchin <roman.gushchin@linux.dev>,
	Shakeel Butt <shakeelb@google.com>,
	 Muchun Song <muchun.song@linux.dev>,
	Andrew Morton <akpm@linux-foundation.org>,
	 David Hildenbrand <david@redhat.com>,
	Matthew Wilcox <willy@infradead.org>,
	 Huang Ying <ying.huang@intel.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	 Peter Xu <peterx@redhat.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	 Liu Shixin <liushixin2@huawei.com>,
	Hugh Dickins <hughd@google.com>,
	cgroups@vger.kernel.org,  linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	 opensource.kernel@vivo.com
Subject: Re: [RFC 0/4] Introduce unbalance proactive reclaim
Date: Wed, 8 Nov 2023 00:59:02 -0800	[thread overview]
Message-ID: <CAJD7tkZ2cnp6tSr6jb2Xpt4J-5oeTmAq1KNw6f7KBWPfjca8gA@mail.gmail.com> (raw)
In-Reply-To: <4c7db101-a34f-47ff-ba64-952516cc193a@vivo.com>

On Wed, Nov 8, 2023 at 12:26 AM Huan Yang <link@vivo.com> wrote:
>
>
> 在 2023/11/8 16:00, Yosry Ahmed 写道:
> > +Wei Xu +David Rientjes
> >
> > On Tue, Nov 7, 2023 at 10:59 PM Huan Yang <link@vivo.com> wrote:
> >> In some cases, we need to selectively reclaim file pages or anonymous
> >> pages in an unbalanced manner.
> >>
> >> For example, when an application is pushed to the background and frozen,
> >> it may not be opened for a long time, and we can safely reclaim the
> >> application's anonymous pages, but we do not want to touch the file pages.
> >>
> >> This patchset extends the proactive reclaim interface to achieve
> >> unbalanced reclamation. Users can control the reclamation tendency by
> >> inputting swappiness under the original interface. Specifically, users
> >> can input special values to extremely reclaim specific pages.
> > I proposed this a while back:
> >
> > https://lore.kernel.org/linux-mm/CAJD7tkbDpyoODveCsnaqBBMZEkDvshXJmNdbk51yKSNgD7aGdg@mail.gmail.com/
> Well to know this, proactive reclaim single type is usefull in our
> production too.
> >
> > The takeaway from the discussion was that swappiness is not the right
> > way to do this. We can add separate arguments to specify types of
> > memory to reclaim, as Roman suggested in that thread. I had some
> > patches lying around to do that at some point, I can dig them up if
> > that's helpful, but they are probably based on a very old kernel now,
> > and before MGLRU landed. IIRC it wasn't very difficult, I think I
> > added anon/file/shrinkers bits to struct scan_control and then plumbed
> > them through to memory.reclaim.
> >
> >> Example:
> >>          echo "1G" 200 > memory.reclaim (only reclaim anon)
> >>            echo "1G" 0  > memory.reclaim (only reclaim file)
> >>            echo "1G" 1  > memory.reclaim (only reclaim file)
> > The type of interface here is nested-keyed, so if we add arguments
> > they need to be in key=value format. Example:
> >
> > echo 1G swappiness=200 > memory.reclaim
> Yes, this is better.
> >
> > As I mentioned above though, I don't think swappiness is the right way
> > of doing this. Also, without swappiness, I don't think there's a v1 vs
> > v2 dilemma here. memory.reclaim can work as-is in cgroup v1, it just
> > needs to be exposed there.
> Cgroupv1 can't use memory.reclaim, so, how to exposed it? Reclaim this by
> pass memcg's ID?

That was mainly about the idea that cgroup v2 does not have per-memcg
swappiness, so this proposal seems to be inclined towards v1, at least
conceptually. Either way, we need to add memory.reclaim to the v1
files to get it to work on v1. Whether this is acceptable or not is up
to the maintainers. I personally don't think it's a problem, it should
work as-is for v1.


  reply	other threads:[~2023-11-08  8:59 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-08  6:58 Huan Yang
2023-11-08  6:58 ` [PATCH 1/4] mm: vmscan: LRU unbalance cgroup reclaim Huan Yang
2023-11-08  6:58 ` [PATCH 2/4] mm: multi-gen LRU: MGLRU unbalance reclaim Huan Yang
2023-11-08 12:34   ` kernel test robot
2023-11-09 11:08   ` kernel test robot
2023-12-04  6:53   ` Dan Carpenter
2023-11-08  6:58 ` [PATCH 3/4] mm: memcg: implement unbalance proactive reclaim Huan Yang
2023-11-08  6:58 ` [PATCH 4/4] mm: memcg: apply proactive reclaim into cgroupv1 Huan Yang
2023-11-08 21:06   ` kernel test robot
2023-11-08  7:35 ` [RFC 0/4] Introduce unbalance proactive reclaim Huang, Ying
2023-11-08  7:53   ` Huan Yang
2023-11-08  8:09     ` Huang, Ying
2023-11-08  8:14       ` Yosry Ahmed
2023-11-08  8:21         ` Huan Yang
2023-11-08  9:00           ` Yosry Ahmed
2023-11-08  9:05             ` Huan Yang
2023-11-08  8:00 ` Yosry Ahmed
2023-11-08  8:26   ` Huan Yang
2023-11-08  8:59     ` Yosry Ahmed [this message]
2023-11-08  9:12       ` Huan Yang
2023-11-08 14:06 ` Michal Hocko
2023-11-09  1:56   ` Huan Yang
2023-11-09  3:15     ` Huang, Ying
2023-11-09  3:38       ` Huan Yang
2023-11-09  9:57         ` Michal Hocko
2023-11-09 10:29           ` Huan Yang
2023-11-09 10:39             ` Michal Hocko
2023-11-09 10:50               ` Huan Yang
2023-11-09 12:40                 ` Michal Hocko
2023-11-09 13:07                   ` Huan Yang
2023-11-09 13:46                     ` Michal Hocko
2023-11-10  3:48                       ` Huan Yang
2023-11-10 12:24                         ` Michal Hocko
2023-11-13  2:17                           ` Huan Yang
2023-11-13  6:10                             ` Huang, Ying
2023-11-13  6:28                               ` Huan Yang
2023-11-13  8:05                                 ` Huang, Ying
2023-11-13  8:26                                   ` Huan Yang
2023-11-14  9:54                                     ` Michal Hocko
2023-11-14  9:56                                       ` Michal Hocko
2023-11-15  6:52                                     ` Huang, Ying
2023-11-14  9:50                             ` Michal Hocko
2023-11-10  1:19                 ` Huang, Ying
2023-11-10  2:44                   ` Huan Yang
2023-11-10  4:00                     ` Huang, Ying
2023-11-10  6:21                       ` Huan Yang
2023-11-10 12:32                         ` Michal Hocko
2023-11-13  1:54                           ` Huan Yang
2023-11-14 10:04                             ` Michal Hocko
2023-11-14 12:37                               ` Huan Yang
2023-11-14 13:03                                 ` Michal Hocko
2023-11-15  2:11                                   ` Huan Yang
2023-11-09  9:53     ` Michal Hocko
2023-11-09 10:55       ` Huan Yang
2023-11-09 12:45         ` Michal Hocko
2023-11-09 13:10           ` Huan Yang
2023-11-08 16:14 ` Andrew Morton
2023-11-09  1:58   ` Huan Yang

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=CAJD7tkZ2cnp6tSr6jb2Xpt4J-5oeTmAq1KNw6f7KBWPfjca8gA@mail.gmail.com \
    --to=yosryahmed@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=corbet@lwn.net \
    --cc=david@redhat.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=link@vivo.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liushixin2@huawei.com \
    --cc=lizefan.x@bytedance.com \
    --cc=mhocko@kernel.org \
    --cc=muchun.song@linux.dev \
    --cc=opensource.kernel@vivo.com \
    --cc=peterx@redhat.com \
    --cc=rientjes@google.com \
    --cc=roman.gushchin@linux.dev \
    --cc=shakeelb@google.com \
    --cc=tj@kernel.org \
    --cc=vishal.moola@gmail.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=weixugc@google.com \
    --cc=willy@infradead.org \
    --cc=ying.huang@intel.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