Commit f4abfb8d authored by Ingo Molnar's avatar Ingo Molnar

Merge branch 'tip/tracing/ftrace' of...

Merge branch 'tip/tracing/ftrace' of ssh://master.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
parents e36b1e13 3cdfdf91
...@@ -153,7 +153,8 @@ static inline void tracepoint_synchronize_unregister(void) ...@@ -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
/* 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 { ...@@ -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); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment