xref: /openbmc/linux/include/trace/events/task.h (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
243d2b113SKAMEZAWA Hiroyuki #undef TRACE_SYSTEM
343d2b113SKAMEZAWA Hiroyuki #define TRACE_SYSTEM task
443d2b113SKAMEZAWA Hiroyuki 
543d2b113SKAMEZAWA Hiroyuki #if !defined(_TRACE_TASK_H) || defined(TRACE_HEADER_MULTI_READ)
643d2b113SKAMEZAWA Hiroyuki #define _TRACE_TASK_H
743d2b113SKAMEZAWA Hiroyuki #include <linux/tracepoint.h>
843d2b113SKAMEZAWA Hiroyuki 
943d2b113SKAMEZAWA Hiroyuki TRACE_EVENT(task_newtask,
1043d2b113SKAMEZAWA Hiroyuki 
1143d2b113SKAMEZAWA Hiroyuki 	TP_PROTO(struct task_struct *task, unsigned long clone_flags),
1243d2b113SKAMEZAWA Hiroyuki 
1343d2b113SKAMEZAWA Hiroyuki 	TP_ARGS(task, clone_flags),
1443d2b113SKAMEZAWA Hiroyuki 
1543d2b113SKAMEZAWA Hiroyuki 	TP_STRUCT__entry(
1643d2b113SKAMEZAWA Hiroyuki 		__field(	pid_t,	pid)
1743d2b113SKAMEZAWA Hiroyuki 		__array(	char,	comm, TASK_COMM_LEN)
1843d2b113SKAMEZAWA Hiroyuki 		__field( unsigned long, clone_flags)
19a9c58b90SDavid Rientjes 		__field(	short,	oom_score_adj)
2043d2b113SKAMEZAWA Hiroyuki 	),
2143d2b113SKAMEZAWA Hiroyuki 
2243d2b113SKAMEZAWA Hiroyuki 	TP_fast_assign(
2343d2b113SKAMEZAWA Hiroyuki 		__entry->pid = task->pid;
2443d2b113SKAMEZAWA Hiroyuki 		memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
2543d2b113SKAMEZAWA Hiroyuki 		__entry->clone_flags = clone_flags;
2643d2b113SKAMEZAWA Hiroyuki 		__entry->oom_score_adj = task->signal->oom_score_adj;
2743d2b113SKAMEZAWA Hiroyuki 	),
2843d2b113SKAMEZAWA Hiroyuki 
29a9c58b90SDavid Rientjes 	TP_printk("pid=%d comm=%s clone_flags=%lx oom_score_adj=%hd",
3043d2b113SKAMEZAWA Hiroyuki 		__entry->pid, __entry->comm,
3143d2b113SKAMEZAWA Hiroyuki 		__entry->clone_flags, __entry->oom_score_adj)
3243d2b113SKAMEZAWA Hiroyuki );
3343d2b113SKAMEZAWA Hiroyuki 
3443d2b113SKAMEZAWA Hiroyuki TRACE_EVENT(task_rename,
3543d2b113SKAMEZAWA Hiroyuki 
3623aebe16SOleg Nesterov 	TP_PROTO(struct task_struct *task, const char *comm),
3743d2b113SKAMEZAWA Hiroyuki 
3843d2b113SKAMEZAWA Hiroyuki 	TP_ARGS(task, comm),
3943d2b113SKAMEZAWA Hiroyuki 
4043d2b113SKAMEZAWA Hiroyuki 	TP_STRUCT__entry(
4143d2b113SKAMEZAWA Hiroyuki 		__field(	pid_t,	pid)
4243d2b113SKAMEZAWA Hiroyuki 		__array(	char, oldcomm,  TASK_COMM_LEN)
4343d2b113SKAMEZAWA Hiroyuki 		__array(	char, newcomm,  TASK_COMM_LEN)
44a9c58b90SDavid Rientjes 		__field(	short,	oom_score_adj)
4543d2b113SKAMEZAWA Hiroyuki 	),
4643d2b113SKAMEZAWA Hiroyuki 
4743d2b113SKAMEZAWA Hiroyuki 	TP_fast_assign(
4843d2b113SKAMEZAWA Hiroyuki 		__entry->pid = task->pid;
4943d2b113SKAMEZAWA Hiroyuki 		memcpy(entry->oldcomm, task->comm, TASK_COMM_LEN);
50*2933d3cdSAzeem Shaikh 		strscpy(entry->newcomm, comm, TASK_COMM_LEN);
5143d2b113SKAMEZAWA Hiroyuki 		__entry->oom_score_adj = task->signal->oom_score_adj;
5243d2b113SKAMEZAWA Hiroyuki 	),
5343d2b113SKAMEZAWA Hiroyuki 
54a9c58b90SDavid Rientjes 	TP_printk("pid=%d oldcomm=%s newcomm=%s oom_score_adj=%hd",
5543d2b113SKAMEZAWA Hiroyuki 		__entry->pid, __entry->oldcomm,
5643d2b113SKAMEZAWA Hiroyuki 		__entry->newcomm, __entry->oom_score_adj)
5743d2b113SKAMEZAWA Hiroyuki );
5843d2b113SKAMEZAWA Hiroyuki 
5943d2b113SKAMEZAWA Hiroyuki #endif
6043d2b113SKAMEZAWA Hiroyuki 
6143d2b113SKAMEZAWA Hiroyuki /* This part must be outside protection */
6243d2b113SKAMEZAWA Hiroyuki #include <trace/define_trace.h>
63