[PATCH RFC v2 6/7] mm/vmscan: pass scan_control to mm_vmscan_reclaim_pages

From: Ridong Chen

Date: Mon Sep 28 2026 - 08:15:06 EST


From: Ridong Chen <chenridong@xxxxxxxxxx>

reclaim_folio_list() passes sc.nr_scanned to mm_vmscan_reclaim_pages as
a bare argument. Pass the enclosing struct scan_control instead and read
nr_scanned out in TP_fast_assign, consistent with the other reclaim
tracepoints. nr_reclaimed stays a separate argument as it is the return
value of shrink_folio_list() rather than a scan_control field.

The exported event format is unchanged.

No functional change.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Ridong Chen <chenridong@xxxxxxxxxx>
---
mm/trace_vmscan.h | 10 +++++-----
mm/vmscan.c | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/trace_vmscan.h b/mm/trace_vmscan.h
index 9b4a86fff37c..04f285e77659 100644
--- a/mm/trace_vmscan.h
+++ b/mm/trace_vmscan.h
@@ -418,11 +418,11 @@ TRACE_EVENT(mm_vmscan_write_folio,

TRACE_EVENT(mm_vmscan_reclaim_pages,

- TP_PROTO(int nid,
- unsigned long nr_scanned, unsigned long nr_reclaimed,
- struct reclaim_stat *stat),
+ TP_PROTO(int nid, struct scan_control *sc,
+ unsigned long nr_reclaimed,
+ struct reclaim_stat *stat),

- TP_ARGS(nid, nr_scanned, nr_reclaimed, stat),
+ TP_ARGS(nid, sc, nr_reclaimed, stat),

TP_STRUCT__entry(
__field(int, nid)
@@ -440,7 +440,7 @@ TRACE_EVENT(mm_vmscan_reclaim_pages,

TP_fast_assign(
__entry->nid = nid;
- __entry->nr_scanned = nr_scanned;
+ __entry->nr_scanned = sc->nr_scanned;
__entry->nr_reclaimed = nr_reclaimed;
__entry->nr_dirty = stat->nr_dirty;
__entry->nr_writeback = stat->nr_writeback;
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 030f14740cbc..6ec84390ee2a 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2183,7 +2183,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, sc.nr_scanned, nr_reclaimed, &stat);
+ trace_mm_vmscan_reclaim_pages(pgdat->node_id, &sc, nr_reclaimed, &stat);

return nr_reclaimed;
}
--
2.34.1