mirror of https://gitee.com/openkylin/linux.git
Merge branch 'tip/tracing/ftrace' of ssh://master.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
This commit is contained in:
commit
f4abfb8d0d
|
@ -153,7 +153,8 @@ static inline void tracepoint_synchronize_unregister(void)
|
||||||
synchronize_sched();
|
synchronize_sched();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DEFINE_TRACE_FMT(name, proto, args, fmt) \
|
#define PARAMS(args...) args
|
||||||
DECLARE_TRACE(name, TPPROTO(proto), TPARGS(args))
|
#define TRACE_FORMAT(name, proto, args, fmt) \
|
||||||
|
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,72 +1,72 @@
|
||||||
|
|
||||||
/* use <trace/sched.h> instead */
|
/* use <trace/sched.h> instead */
|
||||||
#ifndef DEFINE_TRACE_FMT
|
#ifndef TRACE_FORMAT
|
||||||
# error Do not include this file directly.
|
# error Do not include this file directly.
|
||||||
# error Unless you know what you are doing.
|
# error Unless you know what you are doing.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_kthread_stop,
|
TRACE_FORMAT(sched_kthread_stop,
|
||||||
TPPROTO(struct task_struct *t),
|
TPPROTO(struct task_struct *t),
|
||||||
TPARGS(t),
|
TPARGS(t),
|
||||||
TPFMT("task %s:%d", t->comm, t->pid));
|
TPFMT("task %s:%d", t->comm, t->pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_kthread_stop_ret,
|
TRACE_FORMAT(sched_kthread_stop_ret,
|
||||||
TPPROTO(int ret),
|
TPPROTO(int ret),
|
||||||
TPARGS(ret),
|
TPARGS(ret),
|
||||||
TPFMT("ret=%d", ret));
|
TPFMT("ret=%d", ret));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_wait_task,
|
TRACE_FORMAT(sched_wait_task,
|
||||||
TPPROTO(struct rq *rq, struct task_struct *p),
|
TPPROTO(struct rq *rq, struct task_struct *p),
|
||||||
TPARGS(rq, p),
|
TPARGS(rq, p),
|
||||||
TPFMT("task %s:%d", p->comm, p->pid));
|
TPFMT("task %s:%d", p->comm, p->pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_wakeup,
|
TRACE_FORMAT(sched_wakeup,
|
||||||
TPPROTO(struct rq *rq, struct task_struct *p, int success),
|
TPPROTO(struct rq *rq, struct task_struct *p, int success),
|
||||||
TPARGS(rq, p, success),
|
TPARGS(rq, p, success),
|
||||||
TPFMT("task %s:%d %s",
|
TPFMT("task %s:%d %s",
|
||||||
p->comm, p->pid, success?"succeeded":"failed"));
|
p->comm, p->pid, success?"succeeded":"failed"));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_wakeup_new,
|
TRACE_FORMAT(sched_wakeup_new,
|
||||||
TPPROTO(struct rq *rq, struct task_struct *p, int success),
|
TPPROTO(struct rq *rq, struct task_struct *p, int success),
|
||||||
TPARGS(rq, p, success),
|
TPARGS(rq, p, success),
|
||||||
TPFMT("task %s:%d",
|
TPFMT("task %s:%d",
|
||||||
p->comm, p->pid, success?"succeeded":"failed"));
|
p->comm, p->pid, success?"succeeded":"failed"));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_switch,
|
TRACE_FORMAT(sched_switch,
|
||||||
TPPROTO(struct rq *rq, struct task_struct *prev,
|
TPPROTO(struct rq *rq, struct task_struct *prev,
|
||||||
struct task_struct *next),
|
struct task_struct *next),
|
||||||
TPARGS(rq, prev, next),
|
TPARGS(rq, prev, next),
|
||||||
TPFMT("task %s:%d ==> %s:%d",
|
TPFMT("task %s:%d ==> %s:%d",
|
||||||
prev->comm, prev->pid, next->comm, next->pid));
|
prev->comm, prev->pid, next->comm, next->pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_migrate_task,
|
TRACE_FORMAT(sched_migrate_task,
|
||||||
TPPROTO(struct task_struct *p, int orig_cpu, int dest_cpu),
|
TPPROTO(struct task_struct *p, int orig_cpu, int dest_cpu),
|
||||||
TPARGS(p, orig_cpu, dest_cpu),
|
TPARGS(p, orig_cpu, dest_cpu),
|
||||||
TPFMT("task %s:%d from: %d to: %d",
|
TPFMT("task %s:%d from: %d to: %d",
|
||||||
p->comm, p->pid, orig_cpu, dest_cpu));
|
p->comm, p->pid, orig_cpu, dest_cpu));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_process_free,
|
TRACE_FORMAT(sched_process_free,
|
||||||
TPPROTO(struct task_struct *p),
|
TPPROTO(struct task_struct *p),
|
||||||
TPARGS(p),
|
TPARGS(p),
|
||||||
TPFMT("task %s:%d", p->comm, p->pid));
|
TPFMT("task %s:%d", p->comm, p->pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_process_exit,
|
TRACE_FORMAT(sched_process_exit,
|
||||||
TPPROTO(struct task_struct *p),
|
TPPROTO(struct task_struct *p),
|
||||||
TPARGS(p),
|
TPARGS(p),
|
||||||
TPFMT("task %s:%d", p->comm, p->pid));
|
TPFMT("task %s:%d", p->comm, p->pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_process_wait,
|
TRACE_FORMAT(sched_process_wait,
|
||||||
TPPROTO(struct pid *pid),
|
TPPROTO(struct pid *pid),
|
||||||
TPARGS(pid),
|
TPARGS(pid),
|
||||||
TPFMT("pid %d", pid));
|
TPFMT("pid %d", pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_process_fork,
|
TRACE_FORMAT(sched_process_fork,
|
||||||
TPPROTO(struct task_struct *parent, struct task_struct *child),
|
TPPROTO(struct task_struct *parent, struct task_struct *child),
|
||||||
TPARGS(parent, child),
|
TPARGS(parent, child),
|
||||||
TPFMT("parent %s:%d child %s:%d",
|
TPFMT("parent %s:%d child %s:%d",
|
||||||
parent->comm, parent->pid, child->comm, child->pid));
|
parent->comm, parent->pid, child->comm, child->pid));
|
||||||
|
|
||||||
DEFINE_TRACE_FMT(sched_signal_send,
|
TRACE_FORMAT(sched_signal_send,
|
||||||
TPPROTO(int sig, struct task_struct *p),
|
TPPROTO(int sig, struct task_struct *p),
|
||||||
TPARGS(sig, 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));
|
||||||
|
|
|
@ -17,8 +17,8 @@ struct ftrace_event_call {
|
||||||
#undef TPFMT
|
#undef TPFMT
|
||||||
#define TPFMT(fmt, args...) fmt "\n", ##args
|
#define TPFMT(fmt, args...) fmt "\n", ##args
|
||||||
|
|
||||||
#undef DEFINE_TRACE_FMT
|
#undef TRACE_FORMAT
|
||||||
#define DEFINE_TRACE_FMT(call, proto, args, fmt) \
|
#define TRACE_FORMAT(call, proto, args, fmt) \
|
||||||
static void ftrace_event_##call(proto) \
|
static void ftrace_event_##call(proto) \
|
||||||
{ \
|
{ \
|
||||||
event_trace_printk(_RET_IP_, "(" #call ") " fmt); \
|
event_trace_printk(_RET_IP_, "(" #call ") " fmt); \
|
||||||
|
|
Loading…
Reference in New Issue