Skip to content

Commit 49d921b

Browse files
Chen Ridongakpm00
authored andcommitted
mm: vmscan: correct nr_requested tracing in scan_folios
When enabling vmscan tracing, it is observed that nr_requested is always 4096, which is confusing. mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... mm_vmscan_lru_isolate: classzone=3 order=0 nr_requested=4096 ... This is because it prints MAX_LRU_BATCH, which is meaningless as it's a constant. To fix this, modify it to print capped valued. Link: https://lkml.kernel.org/r/20251204122355.1822919-1-chenridong@huaweicloud.com Fixes: 8c2214f ("mm: multi-gen LRU: reuse some legacy trace events") Signed-off-by: Chen Ridong <chenridong@huawei.com> Acked-by: David Hildenbrand (Red Hat) <david@kernel.org> Reviewed-by: Lance Yang <lance.yang@linux.dev> Cc: Axel Rasmussen <axelrasmussen@google.com> Cc: Jaewon Kim <jaewon31.kim@samsung.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Lu Jialin <lujialin4@huawei.com> Cc: Michal Hocko <mhocko@kernel.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: Shakeel Butt <shakeel.butt@linux.dev> Cc: Wei Xu <weixugc@google.com> Cc: Yuanchu Xie <yuanchu@google.com> Cc: Yu Zhao <yuzhao@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 12c1fa8 commit 49d921b

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

mm/vmscan.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4541,7 +4541,8 @@ static int scan_folios(unsigned long nr_to_scan, struct lruvec *lruvec,
45414541
int scanned = 0;
45424542
int isolated = 0;
45434543
int skipped = 0;
4544-
int remaining = min(nr_to_scan, MAX_LRU_BATCH);
4544+
int scan_batch = min(nr_to_scan, MAX_LRU_BATCH);
4545+
int remaining = scan_batch;
45454546
struct lru_gen_folio *lrugen = &lruvec->lrugen;
45464547
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
45474548

@@ -4601,7 +4602,7 @@ static int scan_folios(unsigned long nr_to_scan, struct lruvec *lruvec,
46014602
count_memcg_events(memcg, item, isolated);
46024603
count_memcg_events(memcg, PGREFILL, sorted);
46034604
__count_vm_events(PGSCAN_ANON + type, isolated);
4604-
trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, MAX_LRU_BATCH,
4605+
trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, scan_batch,
46054606
scanned, skipped, isolated,
46064607
type ? LRU_INACTIVE_FILE : LRU_INACTIVE_ANON);
46074608
if (type == LRU_GEN_FILE)

0 commit comments

Comments
 (0)