From: Ridong Chen <[email protected]> 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: it is the return value of shrink_folio_list(), which does not update sc->nr_reclaimed.
No functional change. The tracefs event format (TP_STRUCT__entry and TP_printk) is unchanged, so tracefs-based consumers are unaffected. BPF programs attached via raw_tp/tp_btf see the new TP_PROTO and need to be adjusted; tracepoints are not a stable ABI (see Documentation/bpf/bpf_design_QA.rst). Assisted-by: LLM Signed-off-by: Ridong Chen <[email protected]> --- 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 aa27cb9524bb..96e41f444924 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 c25ba910149d..b3278dbe47bf 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
