lkml.org 
[lkml]   [2010]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 9/9] tracing: Remove parent recording in latency tracer graph options
    From: Steven Rostedt <srostedt@redhat.com>

    Even though the parent is recorded with the normal function tracing
    of the latency tracers (irqsoff and wakeup), the function graph
    recording is bogus.

    This is due to the function graph messing with the return stack.
    The latency tracers pass in as the parent CALLER_ADDR0, which
    works fine for plain function tracing. But this causes bogus output
    with the graph tracer:

    3) <idle>-0 | d.s3. 0.000 us | return_to_handler();
    3) <idle>-0 | d.s3. 0.000 us | _raw_spin_unlock_irqrestore();
    3) <idle>-0 | d.s3. 0.000 us | return_to_handler();
    3) <idle>-0 | d.s3. 0.000 us | trace_hardirqs_on();

    The "return_to_handle()" call is the trampoline of the
    function graph tracer, and is meaningless in this context.

    Cc: Jiri Olsa <jolsa@redhat.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    kernel/trace/trace_functions_graph.c | 1 -
    1 files changed, 0 insertions(+), 1 deletions(-)

    diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
    index af03ba9..b545634 100644
    --- a/kernel/trace/trace_functions_graph.c
    +++ b/kernel/trace/trace_functions_graph.c
    @@ -287,7 +287,6 @@ trace_graph_function(struct trace_array *tr,
    unsigned long ip, unsigned long parent_ip,
    unsigned long flags, int pc)
    {
    - __trace_graph_function(tr, parent_ip, flags, pc);
    __trace_graph_function(tr, ip, flags, pc);
    }

    --
    1.7.1



    \
     
     \ /
      Last update: 2010-10-06 05:39    [W:0.047 / U:121.932 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site