blob: eaad319c59f40a47d4e6bd8fd0b77fa0322690aa [file] [log] [blame]
From: Shakeel Butt <shakeel.butt@linux.dev>
Subject: memcg-add-tracing-for-memcg-stat-updates-v2
Date: Tue, 15 Oct 2024 14:37:21 -0700
use unsigned long type for memcg_rstat_events, per Yosry
Link: https://lkml.kernel.org/r/20241015213721.3804209-1-shakeel.butt@linux.dev
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Reviewed-by: Yosry Ahmed <yosryahmed@google.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Cc: JP Kobryn <inwardvessel@gmail.com>
Cc: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/trace/events/memcg.h | 32 +++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 5 deletions(-)
--- a/include/trace/events/memcg.h~memcg-add-tracing-for-memcg-stat-updates-v2
+++ a/include/trace/events/memcg.h
@@ -9,7 +9,7 @@
#include <linux/tracepoint.h>
-DECLARE_EVENT_CLASS(memcg_rstat,
+DECLARE_EVENT_CLASS(memcg_rstat_stats,
TP_PROTO(struct mem_cgroup *memcg, int item, int val),
@@ -31,23 +31,45 @@ DECLARE_EVENT_CLASS(memcg_rstat,
__entry->id, __entry->item, __entry->val)
);
-DEFINE_EVENT(memcg_rstat, mod_memcg_state,
+DEFINE_EVENT(memcg_rstat_stats, mod_memcg_state,
TP_PROTO(struct mem_cgroup *memcg, int item, int val),
TP_ARGS(memcg, item, val)
);
-DEFINE_EVENT(memcg_rstat, mod_memcg_lruvec_state,
+DEFINE_EVENT(memcg_rstat_stats, mod_memcg_lruvec_state,
TP_PROTO(struct mem_cgroup *memcg, int item, int val),
TP_ARGS(memcg, item, val)
);
-DEFINE_EVENT(memcg_rstat, count_memcg_events,
+DECLARE_EVENT_CLASS(memcg_rstat_events,
- TP_PROTO(struct mem_cgroup *memcg, int item, int val),
+ TP_PROTO(struct mem_cgroup *memcg, int item, unsigned long val),
+
+ TP_ARGS(memcg, item, val),
+
+ TP_STRUCT__entry(
+ __field(u64, id)
+ __field(int, item)
+ __field(unsigned long, val)
+ ),
+
+ TP_fast_assign(
+ __entry->id = cgroup_id(memcg->css.cgroup);
+ __entry->item = item;
+ __entry->val = val;
+ ),
+
+ TP_printk("memcg_id=%llu item=%d val=%lu",
+ __entry->id, __entry->item, __entry->val)
+);
+
+DEFINE_EVENT(memcg_rstat_events, count_memcg_events,
+
+ TP_PROTO(struct mem_cgroup *memcg, int item, unsigned long val),
TP_ARGS(memcg, item, val)
);
_