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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux