perf tools: Remove unnecessary callchain cursor state restore on unmatch
authorFrederic Weisbecker <fweisbec@gmail.com>
Tue, 14 Jan 2014 15:37:16 +0000 (16:37 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
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 <fweisbec@gmail.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1389713836-13375-4-git-send-email-fweisbec@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
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;
        }