On Tue, 10 Sept 2024 at 15:10, Shakeel Butt <shakeel.butt@xxxxxxxxx> wrote: > > On Fri, Aug 30, 2024 at 04:22:44PM GMT, Jingxiang Zeng wrote: > > From: Jingxiang Zeng <linuszeng@xxxxxxxxxxx> > > > > 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@xxxxxxxxxxx> > > --- > > 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 >