tracing/function-graph-tracer: handle the leaf functions from trace_pipe
authorFrederic Weisbecker <fweisbec@gmail.com>
Fri, 6 Feb 2009 17:30:44 +0000 (18:30 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 9 Feb 2009 11:37:27 +0000 (12:37 +0100)
commitb91facc367366b3f71375f337eb5997ec9ab4e69
tree1f7c8914f493080cadcfdec23b33d9a5936fe98b
parent1dfba05d0f1a9b4245bb242a7c17fe448811a520
tracing/function-graph-tracer: handle the leaf functions from trace_pipe

When one cats the trace file, the leaf functions are printed without brackets:

 function();

whereas in the trace_pipe file we'll see the following:

 function() {
 }

This is because the ring_buffer handling is not the same between those two files.
On the trace file, when an entry is printed, the iterator advanced and then we can
check the next entry.

There is no iterator with trace_pipe, the current entry to print has been peeked
and not consumed. So checking the next entry will still return the current one while
we don't consume it.

This patch introduces a new value for the output callbacks to ask the tracing
core to not consume the current entry after printing it.

We need it because we will have to consume the current entry ourself to check
the next one.

Now the trace_pipe is able to handle well the leaf functions.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace.c
kernel/trace/trace.h
kernel/trace/trace_functions_graph.c