lkml.org 
[lkml]   [2009]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perfcounters/core] perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains
    Commit-ID:  b0efe213f84f7fd5ccfe07053e3d9fb827b7c188
    Gitweb: http://git.kernel.org/tip/b0efe213f84f7fd5ccfe07053e3d9fb827b7c188
    Author: Frederic Weisbecker <fweisbec@gmail.com>
    AuthorDate: Sat, 8 Aug 2009 02:16:23 +0200
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Sun, 9 Aug 2009 12:54:41 +0200

    perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains

    When the callchain tree comes to insert an empty backtrace, it
    raises a spurious warning about the fact we are inserting an
    empty. This is spurious because the radix tree assumes it did
    something wrong to reach this state. But it didn't, we just met
    an empty callchain that has to be ignored.

    This happens occasionally with certain types of call-chain
    recordings. If it happens it's a big nuisance as perf report
    output starts with thousands of warning lines.

    Reported-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    LKML-Reference: <1249690585-9145-2-git-send-email-fweisbec@gmail.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>


    ---
    tools/perf/util/callchain.c | 2 ++
    1 files changed, 2 insertions(+), 0 deletions(-)

    diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
    index 98c5627..a8e67aa 100644
    --- a/tools/perf/util/callchain.c
    +++ b/tools/perf/util/callchain.c
    @@ -336,5 +336,7 @@ __append_chain(struct callchain_node *root, struct ip_callchain *chain,
    void append_chain(struct callchain_node *root, struct ip_callchain *chain,
    struct symbol **syms)
    {
    + if (!chain->nr)
    + return;
    __append_chain_children(root, chain, syms, 0);
    }

    \
     
     \ /
      Last update: 2009-08-09 13:13    [W:0.024 / U:0.056 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site