18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#undef TRACE_SYSTEM
38c2ecf20Sopenharmony_ci#define TRACE_SYSTEM task
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#if !defined(_TRACE_TASK_H) || defined(TRACE_HEADER_MULTI_READ)
68c2ecf20Sopenharmony_ci#define _TRACE_TASK_H
78c2ecf20Sopenharmony_ci#include <linux/tracepoint.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciTRACE_EVENT(task_newtask,
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	TP_PROTO(struct task_struct *task, unsigned long clone_flags),
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	TP_ARGS(task, clone_flags),
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
168c2ecf20Sopenharmony_ci		__field(	pid_t,	pid)
178c2ecf20Sopenharmony_ci		__array(	char,	comm, TASK_COMM_LEN)
188c2ecf20Sopenharmony_ci		__field( unsigned long, clone_flags)
198c2ecf20Sopenharmony_ci		__field(	short,	oom_score_adj)
208c2ecf20Sopenharmony_ci	),
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	TP_fast_assign(
238c2ecf20Sopenharmony_ci		__entry->pid = task->pid;
248c2ecf20Sopenharmony_ci		memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
258c2ecf20Sopenharmony_ci		__entry->clone_flags = clone_flags;
268c2ecf20Sopenharmony_ci		__entry->oom_score_adj = task->signal->oom_score_adj;
278c2ecf20Sopenharmony_ci	),
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	TP_printk("pid=%d comm=%s clone_flags=%lx oom_score_adj=%hd",
308c2ecf20Sopenharmony_ci		__entry->pid, __entry->comm,
318c2ecf20Sopenharmony_ci		__entry->clone_flags, __entry->oom_score_adj)
328c2ecf20Sopenharmony_ci);
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciTRACE_EVENT(task_rename,
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	TP_PROTO(struct task_struct *task, const char *comm),
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	TP_ARGS(task, comm),
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	TP_STRUCT__entry(
418c2ecf20Sopenharmony_ci		__field(	pid_t,	pid)
428c2ecf20Sopenharmony_ci		__array(	char, oldcomm,  TASK_COMM_LEN)
438c2ecf20Sopenharmony_ci		__array(	char, newcomm,  TASK_COMM_LEN)
448c2ecf20Sopenharmony_ci		__field(	short,	oom_score_adj)
458c2ecf20Sopenharmony_ci	),
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	TP_fast_assign(
488c2ecf20Sopenharmony_ci		__entry->pid = task->pid;
498c2ecf20Sopenharmony_ci		memcpy(entry->oldcomm, task->comm, TASK_COMM_LEN);
508c2ecf20Sopenharmony_ci		strlcpy(entry->newcomm, comm, TASK_COMM_LEN);
518c2ecf20Sopenharmony_ci		__entry->oom_score_adj = task->signal->oom_score_adj;
528c2ecf20Sopenharmony_ci	),
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	TP_printk("pid=%d oldcomm=%s newcomm=%s oom_score_adj=%hd",
558c2ecf20Sopenharmony_ci		__entry->pid, __entry->oldcomm,
568c2ecf20Sopenharmony_ci		__entry->newcomm, __entry->oom_score_adj)
578c2ecf20Sopenharmony_ci);
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci#endif
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci/* This part must be outside protection */
628c2ecf20Sopenharmony_ci#include <trace/define_trace.h>
63