aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@kernel.org>2015-12-10 21:56:53 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-12-11 06:33:18 -0500
commit64226bcf64629996948dc03c38594f00511bfc2b (patch)
tree4fdcf5f90e4ace753bf412bb22c71d42cbbcbd53 /tools/perf
parente7a7865cc0da306542db0b9205cb0a467f59e33d (diff)
perf top: Do not convert address for perf_top__record_precise_ip()
We call map->unmap_ip() before the function and call map->map_ip() inside the function. This is meaningless and look strange since only one of the two checks 'map'. Let's use al->addr directly. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1449802616-16170-1-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/builtin-top.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 785aa2dd8f0b..3b0978e5578a 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -189,8 +189,6 @@ static void perf_top__record_precise_ip(struct perf_top *top,
189 if (pthread_mutex_trylock(&notes->lock)) 189 if (pthread_mutex_trylock(&notes->lock))
190 return; 190 return;
191 191
192 ip = he->ms.map->map_ip(he->ms.map, ip);
193
194 if (ui__has_annotation()) 192 if (ui__has_annotation())
195 err = hist_entry__inc_addr_samples(he, counter, ip); 193 err = hist_entry__inc_addr_samples(he, counter, ip);
196 194
@@ -687,14 +685,8 @@ static int hist_iter__top_callback(struct hist_entry_iter *iter,
687 struct hist_entry *he = iter->he; 685 struct hist_entry *he = iter->he;
688 struct perf_evsel *evsel = iter->evsel; 686 struct perf_evsel *evsel = iter->evsel;
689 687
690 if (sort__has_sym && single) { 688 if (sort__has_sym && single)
691 u64 ip = al->addr; 689 perf_top__record_precise_ip(top, he, evsel->idx, al->addr);
692
693 if (al->map)
694 ip = al->map->unmap_ip(al->map, ip);
695
696 perf_top__record_precise_ip(top, he, evsel->idx, ip);
697 }
698 690
699 hist__account_cycles(iter->sample->branch_stack, al, iter->sample, 691 hist__account_cycles(iter->sample->branch_stack, al, iter->sample,
700 !(top->record_opts.branch_stack & PERF_SAMPLE_BRANCH_ANY)); 692 !(top->record_opts.branch_stack & PERF_SAMPLE_BRANCH_ANY));