From: jingxiang zeng <jingxiangzeng.cas@gmail.com>
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Jingxiang Zeng <linuszeng@tencent.com>,
linux-mm@kvack.org, Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Muchun Song <muchun.song@linux.dev>,
Andrew Morton <akpm@linux-foundation.org>,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/memcontrol: add per-memcg pgpgin/pswpin counter
Date: Fri, 13 Sep 2024 16:05:51 +0800 [thread overview]
Message-ID: <CAJqJ8ig2=UqSTemAEU_5Shtc_S=deEuHyq1fJ1QUi1PU=_8pCQ@mail.gmail.com> (raw)
In-Reply-To: <e5k22kuavnli72v3lmeezrewut6hvhfdpteouj3ii6dmcdiiin@2e3dlbs4ahe2>
On Tue, 10 Sept 2024 at 15:10, Shakeel Butt <shakeel.butt@linux.dev> wrote:
>
> On Fri, Aug 30, 2024 at 04:22:44PM GMT, Jingxiang Zeng wrote:
> > From: Jingxiang Zeng <linuszeng@tencent.com>
> >
> > In proactive memory reclamation scenarios, it is necessary to
> > estimate the pswpin and pswpout metrics of the cgroup to
> > determine whether to continue reclaiming anonymous pages in
> > the current batch. This patch will collect these metrics and
> > expose them.
>
> Please explain a bit more on how these metrics will be used to make
> a decision to continue to do proactive reclaim or not.
Currently there is simply no way to know exactly how many anon page
was faulted in through SWAP for each cgroup. One may use
workingset refault as an indicator but it is inaccurate due to shadow reclaim.
We have a proactive reclaim agent that sets a forced swappiness
dynamically for each reclaim, so we can reclaim file or anon pages striclty.
Knowing the anon page swapin status is a huge win for estimating the
workload status.
And the swapout info is also important for getting an idea of how much
swapout is effective for a cgroup.
>
> >
> > Signed-off-by: Jingxiang Zeng <linuszeng@tencent.com>
> > ---
> > mm/memcontrol-v1.c | 2 ++
> > mm/memcontrol.c | 2 ++
> > mm/page_io.c | 4 ++++
> > 3 files changed, 8 insertions(+)
> >
> > diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c
> > index b37c0d870816..44803cbea38a 100644
> > --- a/mm/memcontrol-v1.c
> > +++ b/mm/memcontrol-v1.c
> > @@ -2729,6 +2729,8 @@ static const char *const memcg1_stat_names[] = {
> > static const unsigned int memcg1_events[] = {
> > PGPGIN,
> > PGPGOUT,
> > + PSWPIN,
> > + PSWPOUT,
> > PGFAULT,
> > PGMAJFAULT,
> > };
>
> As Yosry said, no need to add these in v1.
>
> thanks,
> Shakeel
>
next prev parent reply other threads:[~2024-09-13 8:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-30 8:22 Jingxiang Zeng
2024-09-09 22:29 ` Andrew Morton
2024-09-09 22:45 ` Yosry Ahmed
2024-09-10 5:28 ` jingxiang zeng
2024-09-10 7:08 ` Shakeel Butt
2024-09-13 8:05 ` jingxiang zeng [this message]
2024-09-13 16:58 ` Shakeel Butt
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='CAJqJ8ig2=UqSTemAEU_5Shtc_S=deEuHyq1fJ1QUi1PU=_8pCQ@mail.gmail.com' \
--to=jingxiangzeng.cas@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=linuszeng@tencent.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
/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