Re: [PATCH 1/4] perf top: Do not convert address for perf_top__record_precise_ip()

From: Arnaldo Carvalho de Melo
Date: Fri Dec 11 2015 - 06:39:48 EST


Em Fri, Dec 11, 2015 at 11:56:53AM +0900, Namhyung Kim escreveu:
> 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.

Thanks for breaking that patch down, this helps with reviewing and
bisecting,

- Arnaldo

> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/builtin-top.c | 12 ++----------
> 1 file 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,
> if (pthread_mutex_trylock(&notes->lock))
> return;
>
> - ip = he->ms.map->map_ip(he->ms.map, ip);
> -
> if (ui__has_annotation())
> err = hist_entry__inc_addr_samples(he, counter, ip);
>
> @@ -687,14 +685,8 @@ static int hist_iter__top_callback(struct hist_entry_iter *iter,
> struct hist_entry *he = iter->he;
> struct perf_evsel *evsel = iter->evsel;
>
> - if (sort__has_sym && single) {
> - u64 ip = al->addr;
> -
> - if (al->map)
> - ip = al->map->unmap_ip(al->map, ip);
> -
> - perf_top__record_precise_ip(top, he, evsel->idx, ip);
> - }
> + if (sort__has_sym && single)
> + perf_top__record_precise_ip(top, he, evsel->idx, al->addr);
>
> hist__account_cycles(iter->sample->branch_stack, al, iter->sample,
> !(top->record_opts.branch_stack & PERF_SAMPLE_BRANCH_ANY));
> --
> 2.6.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/