Currently, it is not possible to know which shrinkers are being run. Even though the callbacks are printed using %pF in tracepoints mm_shrink_slab_start and mm_shrink_slab_end, they are not visible to userspace tools like perf.
To address this, this patchset 1. Enables the display of names of shrinker callbacks in tracepoints mm_shrink_slab_start and mm_shrink_slab_end. 2. Adds a new tracepoint in the callback of the superblock shrinker to get specific names of superblock types. Changes since v1 at https://lkml.org/lkml/2016/7/9/33: 1. This patchset does not introduce a new variable to hold names of shrinkers, unlike v1. It makes mm_shrink_slab_start and mm_shrink_slab_end print names of callbacks instead. 2. It also adds a new tracepoint for superblock shrinkers to display more specific name information, which v1 did not do. Thanks to Dave Chinner and Tony Jones for their suggestions. Janani Ravichandran (2): include: trace: Display names of shrinker callbacks fs: super.c: Add tracepoint to get name of superblock shrinker fs/super.c | 2 ++ include/trace/events/vmscan.h | 39 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) -- 2.7.0