2 /* use <trace/sched.h> instead */
3 #ifndef TRACE_EVENT_FORMAT
4 # error Do not include this file directly.
5 # error Unless you know what you are doing.
9 #define TRACE_SYSTEM sched
11 TRACE_EVENT_FORMAT(sched_kthread_stop
,
12 TP_PROTO(struct task_struct
*t
),
14 TP_FMT("task %s:%d", t
->comm
, t
->pid
),
16 TRACE_FIELD(pid_t
, pid
, t
->pid
)
21 TRACE_EVENT_FORMAT(sched_kthread_stop_ret
,
24 TP_FMT("ret=%d", ret
),
26 TRACE_FIELD(int, ret
, ret
)
31 TRACE_EVENT_FORMAT(sched_wait_task
,
32 TP_PROTO(struct rq
*rq
, struct task_struct
*p
),
34 TP_FMT("task %s:%d", p
->comm
, p
->pid
),
36 TRACE_FIELD(pid_t
, pid
, p
->pid
)
41 TRACE_EVENT_FORMAT(sched_wakeup
,
42 TP_PROTO(struct rq
*rq
, struct task_struct
*p
, int success
),
43 TP_ARGS(rq
, p
, success
),
44 TP_FMT("task %s:%d %s",
45 p
->comm
, p
->pid
, success
? "succeeded" : "failed"),
47 TRACE_FIELD(pid_t
, pid
, p
->pid
)
48 TRACE_FIELD(int, success
, success
)
50 TP_RAW_FMT("task %d success=%d")
53 TRACE_EVENT_FORMAT(sched_wakeup_new
,
54 TP_PROTO(struct rq
*rq
, struct task_struct
*p
, int success
),
55 TP_ARGS(rq
, p
, success
),
57 p
->comm
, p
->pid
, success
? "succeeded" : "failed"),
59 TRACE_FIELD(pid_t
, pid
, p
->pid
)
60 TRACE_FIELD(int, success
, success
)
62 TP_RAW_FMT("task %d success=%d")
66 * Tracepoint for task switches, performed by the scheduler:
68 * (NOTE: the 'rq' argument is not used by generic trace events,
69 * but used by the latency tracer plugin. )
71 TRACE_EVENT(sched_switch
,
73 TP_PROTO(struct rq
*rq
, struct task_struct
*prev
,
74 struct task_struct
*next
),
76 TP_ARGS(rq
, prev
, next
),
79 __array( char, prev_comm
, TASK_COMM_LEN
)
80 __field( pid_t
, prev_pid
)
81 __field( int, prev_prio
)
82 __array( char, next_comm
, TASK_COMM_LEN
)
83 __field( pid_t
, next_pid
)
84 __field( int, next_prio
)
87 TP_printk("task %s:%d [%d] ==> %s:%d [%d]",
88 __entry
->prev_comm
, __entry
->prev_pid
, __entry
->prev_prio
,
89 __entry
->next_comm
, __entry
->next_pid
, __entry
->next_prio
),
92 memcpy(__entry
->next_comm
, next
->comm
, TASK_COMM_LEN
);
93 __entry
->prev_pid
= prev
->pid
;
94 __entry
->prev_prio
= prev
->prio
;
95 memcpy(__entry
->prev_comm
, prev
->comm
, TASK_COMM_LEN
);
96 __entry
->next_pid
= next
->pid
;
97 __entry
->next_prio
= next
->prio
;
101 TRACE_EVENT_FORMAT(sched_migrate_task
,
102 TP_PROTO(struct task_struct
*p
, int orig_cpu
, int dest_cpu
),
103 TP_ARGS(p
, orig_cpu
, dest_cpu
),
104 TP_FMT("task %s:%d from: %d to: %d",
105 p
->comm
, p
->pid
, orig_cpu
, dest_cpu
),
107 TRACE_FIELD(pid_t
, pid
, p
->pid
)
108 TRACE_FIELD(int, orig_cpu
, orig_cpu
)
109 TRACE_FIELD(int, dest_cpu
, dest_cpu
)
111 TP_RAW_FMT("task %d from: %d to: %d")
114 TRACE_EVENT_FORMAT(sched_process_free
,
115 TP_PROTO(struct task_struct
*p
),
117 TP_FMT("task %s:%d", p
->comm
, p
->pid
),
119 TRACE_FIELD(pid_t
, pid
, p
->pid
)
121 TP_RAW_FMT("task %d")
124 TRACE_EVENT_FORMAT(sched_process_exit
,
125 TP_PROTO(struct task_struct
*p
),
127 TP_FMT("task %s:%d", p
->comm
, p
->pid
),
129 TRACE_FIELD(pid_t
, pid
, p
->pid
)
131 TP_RAW_FMT("task %d")
134 TRACE_EVENT_FORMAT(sched_process_wait
,
135 TP_PROTO(struct pid
*pid
),
137 TP_FMT("pid %d", pid_nr(pid
)),
139 TRACE_FIELD(pid_t
, pid
, pid_nr(pid
))
141 TP_RAW_FMT("task %d")
144 TRACE_EVENT_FORMAT(sched_process_fork
,
145 TP_PROTO(struct task_struct
*parent
, struct task_struct
*child
),
146 TP_ARGS(parent
, child
),
147 TP_FMT("parent %s:%d child %s:%d",
148 parent
->comm
, parent
->pid
, child
->comm
, child
->pid
),
150 TRACE_FIELD(pid_t
, parent
, parent
->pid
)
151 TRACE_FIELD(pid_t
, child
, child
->pid
)
153 TP_RAW_FMT("parent %d child %d")
156 TRACE_EVENT_FORMAT(sched_signal_send
,
157 TP_PROTO(int sig
, struct task_struct
*p
),
159 TP_FMT("sig: %d task %s:%d", sig
, p
->comm
, p
->pid
),
161 TRACE_FIELD(int, sig
, sig
)
162 TRACE_FIELD(pid_t
, pid
, p
->pid
)
164 TP_RAW_FMT("sig: %d task %d")
This page took 0.096489 seconds and 5 git commands to generate.