From: Jaewon Kim Date: Wed, 16 Oct 2024 14:32:27 +0000 (+0900) Subject: vmscan-add-a-vmscan-event-for-reclaim_pages-v3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d3df4bd2360b48b80fbd50acb1e1772c34dd4fcb;p=users%2Fjedix%2Flinux-maple.git vmscan-add-a-vmscan-event-for-reclaim_pages-v3 use sc.nr_scanned rather than new counting Link: https://lkml.kernel.org/r/20241016143227.961162-1-jaewon31.kim@samsung.com Signed-off-by: Jaewon Kim Cc: Kalesh Singh Cc: Minchan Kim Cc: SeongJae Park Cc: Vlastimil Babka Signed-off-by: Andrew Morton --- diff --git a/mm/vmscan.c b/mm/vmscan.c index 6d0739cb1873..5bec29914f12 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2127,7 +2127,6 @@ static void shrink_active_list(unsigned long nr_to_scan, } static unsigned int reclaim_folio_list(struct list_head *folio_list, - unsigned int nr_scanned, struct pglist_data *pgdat) { struct reclaim_stat stat; @@ -2147,7 +2146,7 @@ static unsigned int reclaim_folio_list(struct list_head *folio_list, list_del(&folio->lru); folio_putback_lru(folio); } - trace_mm_vmscan_reclaim_pages(pgdat->node_id, nr_scanned, nr_reclaimed, &stat); + trace_mm_vmscan_reclaim_pages(pgdat->node_id, sc.nr_scanned, nr_reclaimed, &stat); return nr_reclaimed; } @@ -2155,7 +2154,6 @@ static unsigned int reclaim_folio_list(struct list_head *folio_list, unsigned long reclaim_pages(struct list_head *folio_list) { int nid; - unsigned int nr_scanned = 0; unsigned int nr_reclaimed = 0; LIST_HEAD(node_folio_list); unsigned int noreclaim_flag; @@ -2172,18 +2170,15 @@ unsigned long reclaim_pages(struct list_head *folio_list) if (nid == folio_nid(folio)) { folio_clear_active(folio); list_move(&folio->lru, &node_folio_list); - nr_scanned += folio_nr_pages(folio); continue; } - nr_reclaimed += reclaim_folio_list(&node_folio_list, nr_scanned, - NODE_DATA(nid)); - nr_scanned = 0; + nr_reclaimed += reclaim_folio_list(&node_folio_list, NODE_DATA(nid)); nid = folio_nid(lru_to_folio(folio_list)); } while (!list_empty(folio_list)); - nr_reclaimed += reclaim_folio_list(&node_folio_list, nr_scanned, - NODE_DATA(nid)); + nr_reclaimed += reclaim_folio_list(&node_folio_list, NODE_DATA(nid)); + memalloc_noreclaim_restore(noreclaim_flag); return nr_reclaimed;