[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27b982f0-22cf-6a74-6ffa-7a3bb58ad3c8@intel.com>
Date: Tue, 11 Apr 2023 12:05:40 +0300
From: Adrian Hunter <adrian.hunter@...el.com>
To: Changbin Du <changbin.du@...wei.com>
Cc: Mark Rutland <mark.rutland@....com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Ingo Molnar <mingo@...hat.com>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
Hui Wang <hw.huiwang@...wei.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v3 1/2] perf script: print raw ip instead of binary offset
for callchain
On 10/04/23 10:08, Changbin Du wrote:
> Before this, the raw ip is printed for non-callchain and dso offset for
> callchain. This inconsistent output for address may confuse people. And
> mostly what we expect is the raw ip.
This patch does not apply anymore, refer:
https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/log/?h=perf-tools-next
>
> 'dso offset' is printed in callchain:
> $ perf script
> ...
> ls 1341034 2739463.008343: 2162417 cycles:
> ffffffff99d657a7 [unknown] ([unknown])
> ffffffff99e00b67 [unknown] ([unknown])
> 235d3 memset+0x53 (/usr/lib/x86_64-linux-gnu/ld-2.31.so) # dso offset
> a61b _dl_map_object+0x1bb (/usr/lib/x86_64-linux-gnu/ld-2.31.so)
>
> raw ip is printed for non-callchain:
> $ perf script -G
> ...
> ls 1341034 2739463.008876: 2053304 cycles: ffffffffc1596923 [unknown] ([unknown])
> ls 1341034 2739463.009381: 1917049 cycles: 14def8e149e6 __strcoll_l+0xd96 (/usr/lib/x86_64-linux-gnu/libc-2.31.so) # raw ip
>
> Let's have consistent output for it. Later I'll add a new field 'dsoff' to
> print dso offset.
>
> Signed-off-by: Changbin Du <changbin.du@...wei.com>
> ---
> tools/perf/util/evsel_fprintf.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/tools/perf/util/evsel_fprintf.c b/tools/perf/util/evsel_fprintf.c
> index bd22c4932d10..1fb8044d402e 100644
> --- a/tools/perf/util/evsel_fprintf.c
> +++ b/tools/perf/util/evsel_fprintf.c
> @@ -153,13 +153,8 @@ int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
> if (map)
> addr = map->map_ip(map, node->ip);
>
> - if (print_ip) {
> - /* Show binary offset for userspace addr */
> - if (map && !map->dso->kernel)
> - printed += fprintf(fp, "%c%16" PRIx64, s, addr);
> - else
> - printed += fprintf(fp, "%c%16" PRIx64, s, node->ip);
> - }
> + if (print_ip)
> + printed += fprintf(fp, "%c%16" PRIx64, s, node->ip);
>
> if (print_sym) {
> printed += fprintf(fp, " ");
Powered by blists - more mailing lists