tracing/perf: Expand TRACE_EVENT(sched_stat_runtime)
authorOleg Nesterov <[email protected]>
Tue, 6 Aug 2013 16:08:41 +0000 (18:08 +0200)
committerSteven Rostedt <[email protected]>
Wed, 14 Aug 2013 01:05:12 +0000 (21:05 -0400)
commit36009d07b79d2a168d6037947357d96e5d8cebe7
tree70e960fc660e47cfaf7546cbd7cd401a4842846f
parentd4e4ab86bcba5a72779c43dc1459f71fea3d89c8
tracing/perf: Expand TRACE_EVENT(sched_stat_runtime)

To simplify the review of the next patches:

1. We are going to reimplent __perf_task/counter and embedd them
   into TP_ARGS(). expand TRACE_EVENT(sched_stat_runtime) into
   DECLARE_EVENT_CLASS() + DEFINE_EVENT(), this way they can use
   different TP_ARGS's.

2. Change perf_trace_##call() macro to do perf_fetch_caller_regs()
   right before perf_trace_buf_prepare().

   This way it evaluates TP_ARGS() asap, the next patch explores
   this fact.

   Note: after 87f44bbc perf_trace_buf_prepare() doesn't need
   "struct pt_regs *regs", perhaps it makes sense to remove this
   argument. And perhaps we can teach perf_trace_buf_submit()
   to accept regs == NULL and do fetch_caller_regs(CALLER_ADDR1)
   in this case.

3. Cosmetic, but the typecast from "void*" buys nothing. It just
   adds the noise, remove it.

Link: http://lkml.kernel.org/r/[email protected]
Acked-by: Peter Zijlstra <[email protected]>
Tested-by: David Ahern <[email protected]>
Signed-off-by: Oleg Nesterov <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
include/trace/events/sched.h
include/trace/ftrace.h