Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1/* SPDX-License-Identifier: GPL-2.0 */
  2#undef TRACE_SYSTEM
  3#define TRACE_SYSTEM memcg
  4
  5#if !defined(_TRACE_MEMCG_H) || defined(TRACE_HEADER_MULTI_READ)
  6#define _TRACE_MEMCG_H
  7
  8#include <linux/memcontrol.h>
  9#include <linux/tracepoint.h>
 10
 11
 12DECLARE_EVENT_CLASS(memcg_rstat_stats,
 13
 14	TP_PROTO(struct mem_cgroup *memcg, int item, int val),
 15
 16	TP_ARGS(memcg, item, val),
 17
 18	TP_STRUCT__entry(
 19		__field(u64, id)
 20		__field(int, item)
 21		__field(int, val)
 22	),
 23
 24	TP_fast_assign(
 25		__entry->id = cgroup_id(memcg->css.cgroup);
 26		__entry->item = item;
 27		__entry->val = val;
 28	),
 29
 30	TP_printk("memcg_id=%llu item=%d val=%d",
 31		  __entry->id, __entry->item, __entry->val)
 32);
 33
 34DEFINE_EVENT(memcg_rstat_stats, mod_memcg_state,
 35
 36	TP_PROTO(struct mem_cgroup *memcg, int item, int val),
 37
 38	TP_ARGS(memcg, item, val)
 39);
 40
 41DEFINE_EVENT(memcg_rstat_stats, mod_memcg_lruvec_state,
 42
 43	TP_PROTO(struct mem_cgroup *memcg, int item, int val),
 44
 45	TP_ARGS(memcg, item, val)
 46);
 47
 48DECLARE_EVENT_CLASS(memcg_rstat_events,
 49
 50	TP_PROTO(struct mem_cgroup *memcg, int item, unsigned long val),
 51
 52	TP_ARGS(memcg, item, val),
 53
 54	TP_STRUCT__entry(
 55		__field(u64, id)
 56		__field(int, item)
 57		__field(unsigned long, val)
 58	),
 59
 60	TP_fast_assign(
 61		__entry->id = cgroup_id(memcg->css.cgroup);
 62		__entry->item = item;
 63		__entry->val = val;
 64	),
 65
 66	TP_printk("memcg_id=%llu item=%d val=%lu",
 67		  __entry->id, __entry->item, __entry->val)
 68);
 69
 70DEFINE_EVENT(memcg_rstat_events, count_memcg_events,
 71
 72	TP_PROTO(struct mem_cgroup *memcg, int item, unsigned long val),
 73
 74	TP_ARGS(memcg, item, val)
 75);
 76
 77TRACE_EVENT(memcg_flush_stats,
 78
 79	TP_PROTO(struct mem_cgroup *memcg, s64 stats_updates,
 80		bool force, bool needs_flush),
 81
 82	TP_ARGS(memcg, stats_updates, force, needs_flush),
 83
 84	TP_STRUCT__entry(
 85		__field(u64, id)
 86		__field(s64, stats_updates)
 87		__field(bool, force)
 88		__field(bool, needs_flush)
 89	),
 90
 91	TP_fast_assign(
 92		__entry->id = cgroup_id(memcg->css.cgroup);
 93		__entry->stats_updates = stats_updates;
 94		__entry->force = force;
 95		__entry->needs_flush = needs_flush;
 96	),
 97
 98	TP_printk("memcg_id=%llu stats_updates=%lld force=%d needs_flush=%d",
 99		__entry->id, __entry->stats_updates,
100		__entry->force, __entry->needs_flush)
101);
102
103#endif /* _TRACE_MEMCG_H */
104
105/* This part must be outside protection */
106#include <trace/define_trace.h>