ftrace: CPU buffer start annotation clean ups
authorSteven Rostedt <rostedt@goodmis.org>
Wed, 12 Nov 2008 22:52:38 +0000 (17:52 -0500)
committerIngo Molnar <mingo@elte.hu>
Thu, 13 Nov 2008 08:49:24 +0000 (09:49 +0100)
commit12ef7d448613ead2babd41c3ebfa1fe03c20edef
tree252b12211d2bbf96e4a90625f0c6116c9a4bd7de
parentee6bce52276c0717ed3e63296e5d9465d339e923
ftrace: CPU buffer start annotation clean ups

Impact: better handling of CPU buffer start annotation

Because of the confusion with the per CPU buffers wrapping where
one CPU might be more active at the end of the trace than the other
CPUs causing that one CPU to have a shorter history. Kernel
developers were confused by the "missing" data of that one CPU
at the beginning of the trace output. An annotation was added to
the trace output to show that the buffer had started:

 # tracer: function
 #
 #           TASK-PID    CPU#    TIMESTAMP  FUNCTION
 #              | |       |          |         |
 ##### CPU 3 buffer started ####
          <idle>-0     [003]   158.192959: smp_apic_timer_interrupt
 [...]
           <idle>-0     [003]   161.556520: default_idle
 ##### CPU 1 buffer started ####
           <idle>-0     [001]   161.592494: hrtimer_force_reprogram
 [etc]

But this annotation gets a bit messy when tracers do not fill the
buffers. This patch does a couple of things:

 One) it adds a flag to trace_options to disable these annotations

 Two) it does not annotate if the tracer did not overflow its buffer.

This makes the output much cleaner.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace.c
kernel/trace/trace.h