Re: [PATCH] tracing/function-graph-tracer: handle the leaffunctions from trace_pipe

From: Ingo Molnar
Date: Mon Feb 09 2009 - 06:38:19 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> When one cat on 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@xxxxxxxxx>
> ---
> kernel/trace/trace.c | 4 +-
> kernel/trace/trace.h | 7 +++--
> kernel/trace/trace_functions_graph.c | 48 +++++++++++++++++++++------------
> 3 files changed, 36 insertions(+), 23 deletions(-)

Applied to tip/tracing/ftrace, thanks Frederic!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/