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 <vba...@suse.cz> > Signed-off-by: Yang Shi <shy828...@gmail.com>
Acked-by: Kirill Tkhai <ktk...@virtuozzo.com> > --- > 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; > } > >