The motivation behind this commit is to enhance the traceability and understanding of memcg events. By integrating the function cgroup_ino() into the existing memcg tracepoints, this patch series introduces a new tracepoint template for the begin() and end() events. It utilizes a new entry field ino to store the cgroup ino, enabling developers to easily identify the cgroup associated with a specific memcg tracepoint event. Additionally, this patch series introduces new shrink_memcg tracepoints to facilitate non-direct memcg reclaim tracing and debugging. Changes v3 since v2 at [2]: - use cgroup_ino() instead of cgroup_name() for memcg tracepoints because cgroup_name() acquires a global rw_lock, which can potentially slow down the system - introduce a stub macro for each shrink_memcg tracepoint to avoid using ifdefs within the common vmscan code." Changes v2 since v1 at [1]: - change the position of the "memcg" parameter to ensure backward compatibility with userspace tools that use memcg tracepoints - add additional CONFIG_MEMCG ifdefs to prevent the use of memcg tracepoints when memcg is disabled Links: [1] https://lore.kernel.org/all/20231101102837.25205-1-ddrokosov@xxxxxxxxxxxxxxxxx/ [2] https://lore.kernel.org/all/20231123071945.25811-1-ddrokosov@xxxxxxxxxxxxxxxxx/ Dmitry Rokosov (2): mm: memcg: print out cgroup ino in the memcg tracepoints mm: memcg: introduce new event to trace shrink_memcg include/trace/events/vmscan.h | 95 ++++++++++++++++++++++++++++++----- mm/vmscan.c | 17 +++++-- 2 files changed, 95 insertions(+), 17 deletions(-) -- 2.36.0