perf tools: Remove unnecessary callchain cursor state restore on unmatch
authorFrederic Weisbecker <[email protected]>
Tue, 14 Jan 2014 15:37:16 +0000 (16:37 +0100)
committerArnaldo Carvalho de Melo <[email protected]>
Fri, 17 Jan 2014 14:25:24 +0000 (11:25 -0300)
If a new callchain branch doesn't match a single entry of the node that
it is given against comparison in append_chain(), then the cursor is
expected to be at the same position as it was before the comparison
loop.

As such, there is no need to restore the cursor position on exit in case
of non matching branches.

Signed-off-by: Frederic Weisbecker <[email protected]>
Reviewed-by: Namhyung Kim <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/util/callchain.c

index 662867d5c374c7a4842843481120bc4ff2ca252a..8d9db454f1a9740c44c4136146c5c6dd308a6281 100644 (file)
@@ -388,7 +388,6 @@ append_chain(struct callchain_node *root,
             struct callchain_cursor *cursor,
             u64 period)
 {
-       struct callchain_cursor_node *curr_snap = cursor->curr;
        struct callchain_list *cnode;
        u64 start = cursor->pos;
        bool found = false;
@@ -420,8 +419,6 @@ append_chain(struct callchain_node *root,
        /* matches not, relay no the parent */
        if (!found) {
                WARN_ONCE(!cmp, "Chain comparison error\n");
-               cursor->curr = curr_snap;
-               cursor->pos = start;
                return cmp;
        }