tracing: flip the TP_printk and TP_fast_assign in the TRACE_EVENT macro
Impact: clean up In trying to stay consistant with the C style format in the TRACE_EVENT macro, it makes more sense to do the printk after the assigning of the variables. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Steven Rostedt <srostedt@redhat.com>
This commit is contained in:
Родитель
2314c4ae14
Коммит
30a8fecc2d
|
@ -157,7 +157,7 @@ static inline void tracepoint_synchronize_unregister(void)
|
||||||
#define TRACE_FORMAT(name, proto, args, fmt) \
|
#define TRACE_FORMAT(name, proto, args, fmt) \
|
||||||
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
|
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
|
||||||
|
|
||||||
#define TRACE_EVENT(name, proto, args, struct, print, assign) \
|
#define TRACE_EVENT(name, proto, args, struct, assign, print) \
|
||||||
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
|
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -31,13 +31,13 @@ TRACE_EVENT(irq_handler_exit,
|
||||||
__field( int, ret )
|
__field( int, ret )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("irq=%d return=%s",
|
|
||||||
__entry->irq, __entry->ret ? "handled" : "unhandled"),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->irq = irq;
|
__entry->irq = irq;
|
||||||
__entry->ret = ret;
|
__entry->ret = ret;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("irq=%d return=%s",
|
||||||
|
__entry->irq, __entry->ret ? "handled" : "unhandled")
|
||||||
);
|
);
|
||||||
|
|
||||||
#undef TRACE_SYSTEM
|
#undef TRACE_SYSTEM
|
||||||
|
|
|
@ -22,12 +22,12 @@ TRACE_EVENT(sched_kthread_stop,
|
||||||
__field( pid_t, pid )
|
__field( pid_t, pid )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d", __entry->comm, __entry->pid),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, t->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, t->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = t->pid;
|
__entry->pid = t->pid;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d", __entry->comm, __entry->pid)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -43,11 +43,11 @@ TRACE_EVENT(sched_kthread_stop_ret,
|
||||||
__field( int, ret )
|
__field( int, ret )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("ret %d", __entry->ret),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->ret = ret;
|
__entry->ret = ret;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("ret %d", __entry->ret)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -68,14 +68,14 @@ TRACE_EVENT(sched_wait_task,
|
||||||
__field( int, prio )
|
__field( int, prio )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d]",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->prio = p->prio;
|
__entry->prio = p->prio;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d]",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -97,16 +97,16 @@ TRACE_EVENT(sched_wakeup,
|
||||||
__field( int, success )
|
__field( int, success )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d] success=%d",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio,
|
|
||||||
__entry->success),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->prio = p->prio;
|
__entry->prio = p->prio;
|
||||||
__entry->success = success;
|
__entry->success = success;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d] success=%d",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio,
|
||||||
|
__entry->success)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -128,16 +128,16 @@ TRACE_EVENT(sched_wakeup_new,
|
||||||
__field( int, success )
|
__field( int, success )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d] success=%d",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio,
|
|
||||||
__entry->success),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->prio = p->prio;
|
__entry->prio = p->prio;
|
||||||
__entry->success = success;
|
__entry->success = success;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d] success=%d",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio,
|
||||||
|
__entry->success)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -162,10 +162,6 @@ TRACE_EVENT(sched_switch,
|
||||||
__field( int, next_prio )
|
__field( int, next_prio )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d] ==> %s:%d [%d]",
|
|
||||||
__entry->prev_comm, __entry->prev_pid, __entry->prev_prio,
|
|
||||||
__entry->next_comm, __entry->next_pid, __entry->next_prio),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->next_comm, next->comm, TASK_COMM_LEN);
|
memcpy(__entry->next_comm, next->comm, TASK_COMM_LEN);
|
||||||
__entry->prev_pid = prev->pid;
|
__entry->prev_pid = prev->pid;
|
||||||
|
@ -173,7 +169,11 @@ TRACE_EVENT(sched_switch,
|
||||||
memcpy(__entry->prev_comm, prev->comm, TASK_COMM_LEN);
|
memcpy(__entry->prev_comm, prev->comm, TASK_COMM_LEN);
|
||||||
__entry->next_pid = next->pid;
|
__entry->next_pid = next->pid;
|
||||||
__entry->next_prio = next->prio;
|
__entry->next_prio = next->prio;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d] ==> %s:%d [%d]",
|
||||||
|
__entry->prev_comm, __entry->prev_pid, __entry->prev_prio,
|
||||||
|
__entry->next_comm, __entry->next_pid, __entry->next_prio)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -193,17 +193,17 @@ TRACE_EVENT(sched_migrate_task,
|
||||||
__field( int, dest_cpu )
|
__field( int, dest_cpu )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d] from: %d to: %d",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio,
|
|
||||||
__entry->orig_cpu, __entry->dest_cpu),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->prio = p->prio;
|
__entry->prio = p->prio;
|
||||||
__entry->orig_cpu = orig_cpu;
|
__entry->orig_cpu = orig_cpu;
|
||||||
__entry->dest_cpu = dest_cpu;
|
__entry->dest_cpu = dest_cpu;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d] from: %d to: %d",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio,
|
||||||
|
__entry->orig_cpu, __entry->dest_cpu)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -221,14 +221,14 @@ TRACE_EVENT(sched_process_free,
|
||||||
__field( int, prio )
|
__field( int, prio )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d]",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->prio = p->prio;
|
__entry->prio = p->prio;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d]",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -246,14 +246,14 @@ TRACE_EVENT(sched_process_exit,
|
||||||
__field( int, prio )
|
__field( int, prio )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d]",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->prio = p->prio;
|
__entry->prio = p->prio;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d]",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -271,14 +271,14 @@ TRACE_EVENT(sched_process_wait,
|
||||||
__field( int, prio )
|
__field( int, prio )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("task %s:%d [%d]",
|
|
||||||
__entry->comm, __entry->pid, __entry->prio),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = pid_nr(pid);
|
__entry->pid = pid_nr(pid);
|
||||||
__entry->prio = current->prio;
|
__entry->prio = current->prio;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("task %s:%d [%d]",
|
||||||
|
__entry->comm, __entry->pid, __entry->prio)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -297,16 +297,16 @@ TRACE_EVENT(sched_process_fork,
|
||||||
__field( pid_t, child_pid )
|
__field( pid_t, child_pid )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("parent %s:%d child %s:%d",
|
|
||||||
__entry->parent_comm, __entry->parent_pid,
|
|
||||||
__entry->child_comm, __entry->child_pid),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->parent_comm, parent->comm, TASK_COMM_LEN);
|
memcpy(__entry->parent_comm, parent->comm, TASK_COMM_LEN);
|
||||||
__entry->parent_pid = parent->pid;
|
__entry->parent_pid = parent->pid;
|
||||||
memcpy(__entry->child_comm, child->comm, TASK_COMM_LEN);
|
memcpy(__entry->child_comm, child->comm, TASK_COMM_LEN);
|
||||||
__entry->child_pid = child->pid;
|
__entry->child_pid = child->pid;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("parent %s:%d child %s:%d",
|
||||||
|
__entry->parent_comm, __entry->parent_pid,
|
||||||
|
__entry->child_comm, __entry->child_pid)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -324,14 +324,14 @@ TRACE_EVENT(sched_signal_send,
|
||||||
__field( pid_t, pid )
|
__field( pid_t, pid )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("sig: %d task %s:%d",
|
|
||||||
__entry->sig, __entry->comm, __entry->pid),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
memcpy(__entry->comm, p->comm, TASK_COMM_LEN);
|
||||||
__entry->pid = p->pid;
|
__entry->pid = p->pid;
|
||||||
__entry->sig = sig;
|
__entry->sig = sig;
|
||||||
)
|
),
|
||||||
|
|
||||||
|
TP_printk("sig: %d task %s:%d",
|
||||||
|
__entry->sig, __entry->comm, __entry->pid)
|
||||||
);
|
);
|
||||||
|
|
||||||
#undef TRACE_SYSTEM
|
#undef TRACE_SYSTEM
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#define TP_STRUCT__entry(args...) args
|
#define TP_STRUCT__entry(args...) args
|
||||||
|
|
||||||
#undef TRACE_EVENT
|
#undef TRACE_EVENT
|
||||||
#define TRACE_EVENT(name, proto, args, tstruct, print, assign) \
|
#define TRACE_EVENT(name, proto, args, tstruct, assign, print) \
|
||||||
struct ftrace_raw_##name { \
|
struct ftrace_raw_##name { \
|
||||||
struct trace_entry ent; \
|
struct trace_entry ent; \
|
||||||
tstruct \
|
tstruct \
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#define TP_printk(fmt, args...) fmt "\n", args
|
#define TP_printk(fmt, args...) fmt "\n", args
|
||||||
|
|
||||||
#undef TRACE_EVENT
|
#undef TRACE_EVENT
|
||||||
#define TRACE_EVENT(call, proto, args, tstruct, print, assign) \
|
#define TRACE_EVENT(call, proto, args, tstruct, assign, print) \
|
||||||
enum print_line_t \
|
enum print_line_t \
|
||||||
ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \
|
ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -115,7 +115,7 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \
|
||||||
#define TP_fast_assign(args...) args
|
#define TP_fast_assign(args...) args
|
||||||
|
|
||||||
#undef TRACE_EVENT
|
#undef TRACE_EVENT
|
||||||
#define TRACE_EVENT(call, proto, args, tstruct, print, func) \
|
#define TRACE_EVENT(call, proto, args, tstruct, func, print) \
|
||||||
static int \
|
static int \
|
||||||
ftrace_format_##call(struct trace_seq *s) \
|
ftrace_format_##call(struct trace_seq *s) \
|
||||||
{ \
|
{ \
|
||||||
|
|
|
@ -148,7 +148,7 @@ __attribute__((section("_ftrace_events"))) event_##call = { \
|
||||||
#define __entry entry
|
#define __entry entry
|
||||||
|
|
||||||
#undef TRACE_EVENT
|
#undef TRACE_EVENT
|
||||||
#define TRACE_EVENT(call, proto, args, tstruct, print, assign) \
|
#define TRACE_EVENT(call, proto, args, tstruct, assign, print) \
|
||||||
\
|
\
|
||||||
static struct ftrace_event_call event_##call; \
|
static struct ftrace_event_call event_##call; \
|
||||||
\
|
\
|
||||||
|
|
Загрузка…
Ссылка в новой задаче