Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
43d2b113 KH |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM task | |
4 | ||
5 | #if !defined(_TRACE_TASK_H) || defined(TRACE_HEADER_MULTI_READ) | |
6 | #define _TRACE_TASK_H | |
7 | #include <linux/tracepoint.h> | |
8 | ||
9 | TRACE_EVENT(task_newtask, | |
10 | ||
11 | TP_PROTO(struct task_struct *task, unsigned long clone_flags), | |
12 | ||
13 | TP_ARGS(task, clone_flags), | |
14 | ||
15 | TP_STRUCT__entry( | |
16 | __field( pid_t, pid) | |
17 | __array( char, comm, TASK_COMM_LEN) | |
18 | __field( unsigned long, clone_flags) | |
a9c58b90 | 19 | __field( short, oom_score_adj) |
43d2b113 KH |
20 | ), |
21 | ||
22 | TP_fast_assign( | |
23 | __entry->pid = task->pid; | |
24 | memcpy(__entry->comm, task->comm, TASK_COMM_LEN); | |
25 | __entry->clone_flags = clone_flags; | |
26 | __entry->oom_score_adj = task->signal->oom_score_adj; | |
27 | ), | |
28 | ||
a9c58b90 | 29 | TP_printk("pid=%d comm=%s clone_flags=%lx oom_score_adj=%hd", |
43d2b113 KH |
30 | __entry->pid, __entry->comm, |
31 | __entry->clone_flags, __entry->oom_score_adj) | |
32 | ); | |
33 | ||
34 | TRACE_EVENT(task_rename, | |
35 | ||
23aebe16 | 36 | TP_PROTO(struct task_struct *task, const char *comm), |
43d2b113 KH |
37 | |
38 | TP_ARGS(task, comm), | |
39 | ||
40 | TP_STRUCT__entry( | |
43d2b113 KH |
41 | __array( char, oldcomm, TASK_COMM_LEN) |
42 | __array( char, newcomm, TASK_COMM_LEN) | |
a9c58b90 | 43 | __field( short, oom_score_adj) |
43d2b113 KH |
44 | ), |
45 | ||
46 | TP_fast_assign( | |
43d2b113 | 47 | memcpy(entry->oldcomm, task->comm, TASK_COMM_LEN); |
2933d3cd | 48 | strscpy(entry->newcomm, comm, TASK_COMM_LEN); |
43d2b113 KH |
49 | __entry->oom_score_adj = task->signal->oom_score_adj; |
50 | ), | |
51 | ||
e3f6a422 ME |
52 | TP_printk("oldcomm=%s newcomm=%s oom_score_adj=%hd", |
53 | __entry->oldcomm, __entry->newcomm, __entry->oom_score_adj) | |
43d2b113 KH |
54 | ); |
55 | ||
c38904eb ME |
56 | /** |
57 | * task_prctl_unknown - called on unknown prctl() option | |
58 | * @option: option passed | |
59 | * @arg2: arg2 passed | |
60 | * @arg3: arg3 passed | |
61 | * @arg4: arg4 passed | |
62 | * @arg5: arg5 passed | |
63 | * | |
64 | * Called on an unknown prctl() option. | |
65 | */ | |
66 | TRACE_EVENT(task_prctl_unknown, | |
67 | ||
68 | TP_PROTO(int option, unsigned long arg2, unsigned long arg3, | |
69 | unsigned long arg4, unsigned long arg5), | |
70 | ||
71 | TP_ARGS(option, arg2, arg3, arg4, arg5), | |
72 | ||
73 | TP_STRUCT__entry( | |
74 | __field( int, option) | |
75 | __field( unsigned long, arg2) | |
76 | __field( unsigned long, arg3) | |
77 | __field( unsigned long, arg4) | |
78 | __field( unsigned long, arg5) | |
79 | ), | |
80 | ||
81 | TP_fast_assign( | |
82 | __entry->option = option; | |
83 | __entry->arg2 = arg2; | |
84 | __entry->arg3 = arg3; | |
85 | __entry->arg4 = arg4; | |
86 | __entry->arg5 = arg5; | |
87 | ), | |
88 | ||
89 | TP_printk("option=%d arg2=%ld arg3=%ld arg4=%ld arg5=%ld", | |
90 | __entry->option, __entry->arg2, __entry->arg3, __entry->arg4, __entry->arg5) | |
91 | ); | |
92 | ||
43d2b113 KH |
93 | #endif |
94 | ||
95 | /* This part must be outside protection */ | |
96 | #include <trace/define_trace.h> |