The quilt patch titled Subject: mm/memcontrol: add per-memcg pgpgin/pswpin counter has been removed from the -mm tree. Its filename was mm-memcontrol-add-per-memcg-pgpgin-pswpin-counter.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Jingxiang Zeng <linuszeng@xxxxxxxxxxx> Subject: mm/memcontrol: add per-memcg pgpgin/pswpin counter Date: Fri, 30 Aug 2024 16:22:44 +0800 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. [linuszeng@xxxxxxxxxxx: v2] Link: https://lkml.kernel.org/r/20240830082244.156923-1-jingxiangzeng.cas@xxxxxxxxx Li nk: https://lkml.kernel.org/r/20240913084453.3605621-1-jingxiangzeng.cas@xxxxxxxxx Link: https://lkml.kernel.org/r/20240830082244.156923-1-jingxiangzeng.cas@xxxxxxxxx Signed-off-by: Jingxiang Zeng <linuszeng@xxxxxxxxxxx> Acked-by: Nhat Pham <nphamcs@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Muchun Song <muchun.song@xxxxxxxxx> Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx> Cc: Shakeel Butt <shakeel.butt@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/memcontrol.c | 2 ++ mm/page_io.c | 4 ++++ 2 files changed, 6 insertions(+) --- a/mm/memcontrol.c~mm-memcontrol-add-per-memcg-pgpgin-pswpin-counter +++ a/mm/memcontrol.c @@ -418,6 +418,8 @@ static const unsigned int memcg_vm_event PGPGIN, PGPGOUT, #endif + PSWPIN, + PSWPOUT, PGSCAN_KSWAPD, PGSCAN_DIRECT, PGSCAN_KHUGEPAGED, --- a/mm/page_io.c~mm-memcontrol-add-per-memcg-pgpgin-pswpin-counter +++ a/mm/page_io.c @@ -290,6 +290,7 @@ static inline void count_swpout_vm_event } count_mthp_stat(folio_order(folio), MTHP_STAT_SWPOUT); #endif + count_memcg_folio_events(folio, PSWPOUT, folio_nr_pages(folio)); count_vm_events(PSWPOUT, folio_nr_pages(folio)); } @@ -485,6 +486,7 @@ static void sio_read_complete(struct kio for (p = 0; p < sio->pages; p++) { struct folio *folio = page_folio(sio->bvec[p].bv_page); + count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio)); folio_mark_uptodate(folio); folio_unlock(folio); } @@ -570,6 +572,7 @@ static void swap_read_folio_bdev_sync(st * attempt to access it in the page fault retry time check. */ get_task_struct(current); + count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio)); count_vm_events(PSWPIN, folio_nr_pages(folio)); submit_bio_wait(&bio); __end_swap_bio_read(&bio); @@ -585,6 +588,7 @@ static void swap_read_folio_bdev_async(s bio->bi_iter.bi_sector = swap_folio_sector(folio); bio->bi_end_io = end_swap_bio_read; bio_add_folio_nofail(bio, folio, folio_size(folio), 0); + count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio)); count_vm_events(PSWPIN, folio_nr_pages(folio)); submit_bio(bio); } _ Patches currently in -mm which might be from linuszeng@xxxxxxxxxxx are mm-vmscan-wake-up-flushers-conditionally-to-avoid-cgroup-oom.patch