tracing: create the C style tracing for the sched subsystem
This patch utilizes the TRACE_EVENT_FORMAT macro to enable the C style faster tracing for the sched subsystem trace points. Signed-off-by: Steven Rostedt <srostedt@redhat.com>
This commit is contained in:
parent
fd99498989
commit
629928041c
|
@ -157,4 +157,7 @@ static inline void tracepoint_synchronize_unregister(void)
|
|||
#define TRACE_FORMAT(name, proto, args, fmt) \
|
||||
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
|
||||
|
||||
#define TRACE_EVENT_FORMAT(name, proto, args, fmt, struct, tpfmt) \
|
||||
TRACE_FORMAT(name, PARAMS(proto), PARAMS(args), PARAMS(fmt))
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
/* use <trace/sched.h> instead */
|
||||
#ifndef TRACE_FORMAT
|
||||
#ifndef TRACE_EVENT_FORMAT
|
||||
# error Do not include this file directly.
|
||||
# error Unless you know what you are doing.
|
||||
#endif
|
||||
|
@ -8,70 +8,139 @@
|
|||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM sched
|
||||
|
||||
TRACE_FORMAT(sched_kthread_stop,
|
||||
TRACE_EVENT_FORMAT(sched_kthread_stop,
|
||||
TPPROTO(struct task_struct *t),
|
||||
TPARGS(t),
|
||||
TPFMT("task %s:%d", t->comm, t->pid));
|
||||
TPFMT("task %s:%d", t->comm, t->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, t->pid)
|
||||
),
|
||||
TPRAWFMT("task %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_kthread_stop_ret,
|
||||
TRACE_EVENT_FORMAT(sched_kthread_stop_ret,
|
||||
TPPROTO(int ret),
|
||||
TPARGS(ret),
|
||||
TPFMT("ret=%d", ret));
|
||||
TPFMT("ret=%d", ret),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(int, ret, ret)
|
||||
),
|
||||
TPRAWFMT("ret=%d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_wait_task,
|
||||
TRACE_EVENT_FORMAT(sched_wait_task,
|
||||
TPPROTO(struct rq *rq, struct task_struct *p),
|
||||
TPARGS(rq, p),
|
||||
TPFMT("task %s:%d", p->comm, p->pid));
|
||||
TPFMT("task %s:%d", p->comm, p->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
),
|
||||
TPRAWFMT("task %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_wakeup,
|
||||
TRACE_EVENT_FORMAT(sched_wakeup,
|
||||
TPPROTO(struct rq *rq, struct task_struct *p, int success),
|
||||
TPARGS(rq, p, success),
|
||||
TPFMT("task %s:%d %s",
|
||||
p->comm, p->pid, success?"succeeded":"failed"));
|
||||
p->comm, p->pid, success ? "succeeded" : "failed"),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
TRACE_FIELD(int, success, success)
|
||||
),
|
||||
TPRAWFMT("task %d success=%d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_wakeup_new,
|
||||
TRACE_EVENT_FORMAT(sched_wakeup_new,
|
||||
TPPROTO(struct rq *rq, struct task_struct *p, int success),
|
||||
TPARGS(rq, p, success),
|
||||
TPFMT("task %s:%d",
|
||||
p->comm, p->pid, success?"succeeded":"failed"));
|
||||
p->comm, p->pid, success ? "succeeded" : "failed"),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
TRACE_FIELD(int, success, success)
|
||||
),
|
||||
TPRAWFMT("task %d success=%d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_switch,
|
||||
TRACE_EVENT_FORMAT(sched_switch,
|
||||
TPPROTO(struct rq *rq, struct task_struct *prev,
|
||||
struct task_struct *next),
|
||||
TPARGS(rq, prev, next),
|
||||
TPFMT("task %s:%d ==> %s:%d",
|
||||
prev->comm, prev->pid, next->comm, next->pid));
|
||||
prev->comm, prev->pid, next->comm, next->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, prev_pid, prev->pid)
|
||||
TRACE_FIELD(int, prev_prio, prev->prio)
|
||||
TRACE_FIELD(pid_t, next_pid, next->pid)
|
||||
TRACE_FIELD(int, next_prio, next->prio)
|
||||
),
|
||||
TPRAWFMT("prev %d:%d ==> next %d:%d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_migrate_task,
|
||||
TRACE_EVENT_FORMAT(sched_migrate_task,
|
||||
TPPROTO(struct task_struct *p, int orig_cpu, int dest_cpu),
|
||||
TPARGS(p, orig_cpu, dest_cpu),
|
||||
TPFMT("task %s:%d from: %d to: %d",
|
||||
p->comm, p->pid, orig_cpu, dest_cpu));
|
||||
p->comm, p->pid, orig_cpu, dest_cpu),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
TRACE_FIELD(int, orig_cpu, orig_cpu)
|
||||
TRACE_FIELD(int, dest_cpu, dest_cpu)
|
||||
),
|
||||
TPRAWFMT("task %d from: %d to: %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_process_free,
|
||||
TRACE_EVENT_FORMAT(sched_process_free,
|
||||
TPPROTO(struct task_struct *p),
|
||||
TPARGS(p),
|
||||
TPFMT("task %s:%d", p->comm, p->pid));
|
||||
TPFMT("task %s:%d", p->comm, p->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
),
|
||||
TPRAWFMT("task %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_process_exit,
|
||||
TRACE_EVENT_FORMAT(sched_process_exit,
|
||||
TPPROTO(struct task_struct *p),
|
||||
TPARGS(p),
|
||||
TPFMT("task %s:%d", p->comm, p->pid));
|
||||
TPFMT("task %s:%d", p->comm, p->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
),
|
||||
TPRAWFMT("task %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_process_wait,
|
||||
TRACE_EVENT_FORMAT(sched_process_wait,
|
||||
TPPROTO(struct pid *pid),
|
||||
TPARGS(pid),
|
||||
TPFMT("pid %d", pid));
|
||||
TPFMT("pid %d", pid_nr(pid)),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, pid, pid_nr(pid))
|
||||
),
|
||||
TPRAWFMT("task %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_process_fork,
|
||||
TRACE_EVENT_FORMAT(sched_process_fork,
|
||||
TPPROTO(struct task_struct *parent, struct task_struct *child),
|
||||
TPARGS(parent, child),
|
||||
TPFMT("parent %s:%d child %s:%d",
|
||||
parent->comm, parent->pid, child->comm, child->pid));
|
||||
parent->comm, parent->pid, child->comm, child->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(pid_t, parent, parent->pid)
|
||||
TRACE_FIELD(pid_t, child, child->pid)
|
||||
),
|
||||
TPRAWFMT("parent %d child %d")
|
||||
);
|
||||
|
||||
TRACE_FORMAT(sched_signal_send,
|
||||
TRACE_EVENT_FORMAT(sched_signal_send,
|
||||
TPPROTO(int sig, struct task_struct *p),
|
||||
TPARGS(sig, p),
|
||||
TPFMT("sig: %d task %s:%d", sig, p->comm, p->pid));
|
||||
TPFMT("sig: %d task %s:%d", sig, p->comm, p->pid),
|
||||
TRACE_STRUCT(
|
||||
TRACE_FIELD(int, sig, sig)
|
||||
TRACE_FIELD(pid_t, pid, p->pid)
|
||||
),
|
||||
TPRAWFMT("sig: %d task %d")
|
||||
);
|
||||
|
||||
#undef TRACE_SYSTEM
|
||||
|
|
Loading…
Reference in New Issue