[v3,0/2] mm: memcg: improve vmscan tracepoints

Message ID 20231123193937.11628-1-ddrokosov@salutedevices.com
Headers
Series mm: memcg: improve vmscan tracepoints |

Message

Dmitry Rokosov Nov. 23, 2023, 7:39 p.m. UTC
  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@salutedevices.com/
    [2] https://lore.kernel.org/all/20231123071945.25811-1-ddrokosov@salutedevices.com/

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(-)