diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2010-03-24 15:40:17 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-03-26 03:52:57 -0400 |
commit | 59fd53062f71011a68d03f4cd0ba93d822ac3249 (patch) | |
tree | d707ca954b8e1fb9c0808b23d83951f357ac8a0d /tools/perf/util/hist.c | |
parent | ac73c5a9c1767b2771e6d2b5accafdef89db04c2 (diff) |
perf tools: Introduce struct map_symbol
That will be in both struct hist_entry and struct
callchain_list, so that the TUI can store a pointer to the pair
(map, symbol) in the trees where hist_entries and
callchain_lists are present, to allow precise annotation instead
of looking for the first symbol with the selected name.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1269459619-982-4-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/hist.c')
-rw-r--r-- | tools/perf/util/hist.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 5843a9c572ad..4eefb52a8661 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c | |||
@@ -22,8 +22,10 @@ struct hist_entry *__perf_session__add_hist_entry(struct rb_root *hists, | |||
22 | struct hist_entry *he; | 22 | struct hist_entry *he; |
23 | struct hist_entry entry = { | 23 | struct hist_entry entry = { |
24 | .thread = al->thread, | 24 | .thread = al->thread, |
25 | .map = al->map, | 25 | .ms = { |
26 | .sym = al->sym, | 26 | .map = al->map, |
27 | .sym = al->sym, | ||
28 | }, | ||
27 | .ip = al->addr, | 29 | .ip = al->addr, |
28 | .level = al->level, | 30 | .level = al->level, |
29 | .count = count, | 31 | .count = count, |
@@ -654,7 +656,7 @@ print_entries: | |||
654 | if (symbol_conf.use_callchain) | 656 | if (symbol_conf.use_callchain) |
655 | ret += hist_entry__fprintf_callchain(h, fp, session_total); | 657 | ret += hist_entry__fprintf_callchain(h, fp, session_total); |
656 | 658 | ||
657 | if (h->map == NULL && verbose > 1) { | 659 | if (h->ms.map == NULL && verbose > 1) { |
658 | __map_groups__fprintf_maps(&h->thread->mg, | 660 | __map_groups__fprintf_maps(&h->thread->mg, |
659 | MAP__FUNCTION, fp); | 661 | MAP__FUNCTION, fp); |
660 | fprintf(fp, "%.10s end\n", graph_dotted_line); | 662 | fprintf(fp, "%.10s end\n", graph_dotted_line); |