perf hists: Link hist entry pairs to leader
authorNamhyung Kim <namhyung.kim@lge.com>
Thu, 29 Nov 2012 06:38:34 +0000 (15:38 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sun, 9 Dec 2012 11:46:06 +0000 (08:46 -0300)
Current hists__match/link() link a leader to its pair, so if multiple
pairs were linked, the leader will lose pointer to previous pairs since
it was overwritten.  Fix it by making leader the list head.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1354171126-14387-8-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/hist.c

index d2bc05c..82df1b2 100644 (file)
@@ -785,7 +785,7 @@ void hists__match(struct hists *leader, struct hists *other)
                pair = hists__find_entry(other, pos);
 
                if (pair)
-                       hist_entry__add_pair(pos, pair);
+                       hist_entry__add_pair(pair, pos);
        }
 }
 
@@ -806,7 +806,7 @@ int hists__link(struct hists *leader, struct hists *other)
                        pair = hists__add_dummy_entry(leader, pos);
                        if (pair == NULL)
                                return -1;
-                       hist_entry__add_pair(pair, pos);
+                       hist_entry__add_pair(pos, pair);
                }
        }