On 03.02.2021 20:20, Yang Shi wrote: > The tracepoint's nid should show what node the shrink happens on, the start tracepoint > uses nid from shrinkctl, but the nid might be set to 0 before end tracepoint if the > shrinker is not NUMA aware, so the traceing log may show the shrink happens on one > node but end up on the other node. It seems confusing. And the following patch > will remove using nid directly in do_shrink_slab(), this patch also helps cleanup > the code. > > Acked-by: Vlastimil Babka <vbabka@xxxxxxx> > Signed-off-by: Yang Shi <shy828301@xxxxxxxxx> Acked-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> > --- > mm/vmscan.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index b1b574ad199d..b512dd5e3a1c 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -535,7 +535,7 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > else > new_nr = atomic_long_read(&shrinker->nr_deferred[nid]); > > - trace_mm_shrink_slab_end(shrinker, nid, freed, nr, new_nr, total_scan); > + trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan); > return freed; > } > >