]>
git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - include/trace/events/cgroup.h
2 #define TRACE_SYSTEM cgroup
4 #if !defined(_TRACE_CGROUP_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_CGROUP_H
7 #include <linux/cgroup.h>
8 #include <linux/tracepoint.h>
10 DECLARE_EVENT_CLASS(cgroup_root
,
12 TP_PROTO(struct cgroup_root
*root
),
18 __field( u16
, ss_mask
)
19 __string( name
, root
->name
)
23 __entry
->root
= root
->hierarchy_id
;
24 __entry
->ss_mask
= root
->subsys_mask
;
25 __assign_str(name
, root
->name
);
28 TP_printk("root=%d ss_mask=%#x name=%s",
29 __entry
->root
, __entry
->ss_mask
, __get_str(name
))
32 DEFINE_EVENT(cgroup_root
, cgroup_setup_root
,
34 TP_PROTO(struct cgroup_root
*root
),
39 DEFINE_EVENT(cgroup_root
, cgroup_destroy_root
,
41 TP_PROTO(struct cgroup_root
*root
),
46 DEFINE_EVENT(cgroup_root
, cgroup_remount
,
48 TP_PROTO(struct cgroup_root
*root
),
53 DECLARE_EVENT_CLASS(cgroup
,
55 TP_PROTO(struct cgroup
*cgrp
),
63 __dynamic_array(char, path
,
64 cgroup_path(cgrp
, NULL
, 0) + 1)
68 __entry
->root
= cgrp
->root
->hierarchy_id
;
69 __entry
->id
= cgrp
->id
;
70 __entry
->level
= cgrp
->level
;
71 cgroup_path(cgrp
, __get_dynamic_array(path
),
72 __get_dynamic_array_len(path
));
75 TP_printk("root=%d id=%d level=%d path=%s",
76 __entry
->root
, __entry
->id
, __entry
->level
, __get_str(path
))
79 DEFINE_EVENT(cgroup
, cgroup_mkdir
,
81 TP_PROTO(struct cgroup
*cgroup
),
86 DEFINE_EVENT(cgroup
, cgroup_rmdir
,
88 TP_PROTO(struct cgroup
*cgroup
),
93 DEFINE_EVENT(cgroup
, cgroup_release
,
95 TP_PROTO(struct cgroup
*cgroup
),
100 DEFINE_EVENT(cgroup
, cgroup_rename
,
102 TP_PROTO(struct cgroup
*cgroup
),
107 DECLARE_EVENT_CLASS(cgroup_migrate
,
109 TP_PROTO(struct cgroup
*dst_cgrp
, struct task_struct
*task
, bool threadgroup
),
111 TP_ARGS(dst_cgrp
, task
, threadgroup
),
114 __field( int, dst_root
)
115 __field( int, dst_id
)
116 __field( int, dst_level
)
117 __dynamic_array(char, dst_path
,
118 cgroup_path(dst_cgrp
, NULL
, 0) + 1)
120 __string( comm
, task
->comm
)
124 __entry
->dst_root
= dst_cgrp
->root
->hierarchy_id
;
125 __entry
->dst_id
= dst_cgrp
->id
;
126 __entry
->dst_level
= dst_cgrp
->level
;
127 cgroup_path(dst_cgrp
, __get_dynamic_array(dst_path
),
128 __get_dynamic_array_len(dst_path
));
129 __entry
->pid
= task
->pid
;
130 __assign_str(comm
, task
->comm
);
133 TP_printk("dst_root=%d dst_id=%d dst_level=%d dst_path=%s pid=%d comm=%s",
134 __entry
->dst_root
, __entry
->dst_id
, __entry
->dst_level
,
135 __get_str(dst_path
), __entry
->pid
, __get_str(comm
))
138 DEFINE_EVENT(cgroup_migrate
, cgroup_attach_task
,
140 TP_PROTO(struct cgroup
*dst_cgrp
, struct task_struct
*task
, bool threadgroup
),
142 TP_ARGS(dst_cgrp
, task
, threadgroup
)
145 DEFINE_EVENT(cgroup_migrate
, cgroup_transfer_tasks
,
147 TP_PROTO(struct cgroup
*dst_cgrp
, struct task_struct
*task
, bool threadgroup
),
149 TP_ARGS(dst_cgrp
, task
, threadgroup
)
152 #endif /* _TRACE_CGROUP_H */
154 /* This part must be outside protection */
155 #include <trace/define_trace.h>