Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1644866 > unrolled thread
| Started by | Milian Wolff <milian.wolff@kdab.com> |
|---|---|
| First post | 2017-05-18 21:40 +0200 |
| Last post | 2017-05-24 13:50 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 7/7] perf script: mark inlined frames and do not print DSO for them Milian Wolff <milian.wolff@kdab.com> - 2017-05-18 21:40 +0200
Re: [PATCH 7/7] perf script: mark inlined frames and do not print DSO for them Namhyung Kim <namhyung@kernel.org> - 2017-05-22 14:20 +0200
Re: [PATCH 7/7] perf script: mark inlined frames and do not print DSO for them Milian Wolff <milian.wolff@kdab.com> - 2017-05-24 13:50 +0200
| From | Milian Wolff <milian.wolff@kdab.com> |
|---|---|
| Date | 2017-05-18 21:40 +0200 |
| Subject | [PATCH 7/7] perf script: mark inlined frames and do not print DSO for them |
| Message-ID | <tIzrc-7No-25@gated-at.bofh.it> |
Instead of showing the (repeated) DSO name of the non-inlined
frame, we now show the "(inlined)" suffix instead.
Before:
214f7 __hypot_finite (/usr/lib/libm-2.25.so)
ace3 hypot (/usr/lib/libm-2.25.so)
std::__complex_abs (/home/milian/projects/src/perf-tests/inlining)
std::abs<double> (/home/milian/projects/src/perf-tests/inlining)
std::_Norm_helper<true>::_S_do_it<double> (/home/milian/projects/src/perf-tests/inlining)
std::norm<double> (/home/milian/projects/src/perf-tests/inlining)
a4a main (/home/milian/projects/src/perf-tests/inlining)
20510 __libc_start_main (/usr/lib/libc-2.25.so)
bd9 _start (/home/milian/projects/src/perf-tests/inlining)
After:
214f7 __hypot_finite (/usr/lib/libm-2.25.so)
ace3 hypot (/usr/lib/libm-2.25.so)
std::__complex_abs (inlined)
std::abs<double> (inlined)
std::_Norm_helper<true>::_S_do_it<double> (inlined)
std::norm<double> (inlined)
a4a main (/home/milian/projects/src/perf-tests/inlining)
20510 __libc_start_main (/usr/lib/libc-2.25.so)
bd9 _start (/home/milian/projects/src/perf-tests/inlining)
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Yao Jin <yao.jin@linux.intel.com>
Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
---
tools/perf/util/evsel_fprintf.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/evsel_fprintf.c b/tools/perf/util/evsel_fprintf.c
index f2c6c5ee11e8..5b9e89257aa7 100644
--- a/tools/perf/util/evsel_fprintf.c
+++ b/tools/perf/util/evsel_fprintf.c
@@ -157,7 +157,7 @@ int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
}
}
- if (print_dso) {
+ if (print_dso && (!node->sym || !node->sym->inlined)) {
printed += fprintf(fp, " (");
printed += map__fprintf_dsoname(node->map, fp);
printed += fprintf(fp, ")");
@@ -166,6 +166,9 @@ int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
if (print_srcline)
printed += map__fprintf_srcline(node->map, addr, "\n ", fp);
+ if (node->sym && node->sym->inlined)
+ printed += fprintf(fp, " (inlined)");
+
if (!print_oneline)
printed += fprintf(fp, "\n");
--
2.13.0
[toc] | [next] | [standalone]
| From | Namhyung Kim <namhyung@kernel.org> |
|---|---|
| Date | 2017-05-22 14:20 +0200 |
| Subject | Re: [PATCH 7/7] perf script: mark inlined frames and do not print DSO for them |
| Message-ID | <tJUtz-5zo-3@gated-at.bofh.it> |
| In reply to | #1644866 |
On Thu, May 18, 2017 at 09:34:11PM +0200, Milian Wolff wrote:
> Instead of showing the (repeated) DSO name of the non-inlined
> frame, we now show the "(inlined)" suffix instead.
>
> Before:
> 214f7 __hypot_finite (/usr/lib/libm-2.25.so)
> ace3 hypot (/usr/lib/libm-2.25.so)
> std::__complex_abs (/home/milian/projects/src/perf-tests/inlining)
> std::abs<double> (/home/milian/projects/src/perf-tests/inlining)
> std::_Norm_helper<true>::_S_do_it<double> (/home/milian/projects/src/perf-tests/inlining)
> std::norm<double> (/home/milian/projects/src/perf-tests/inlining)
> a4a main (/home/milian/projects/src/perf-tests/inlining)
> 20510 __libc_start_main (/usr/lib/libc-2.25.so)
> bd9 _start (/home/milian/projects/src/perf-tests/inlining)
>
> After:
> 214f7 __hypot_finite (/usr/lib/libm-2.25.so)
> ace3 hypot (/usr/lib/libm-2.25.so)
> std::__complex_abs (inlined)
> std::abs<double> (inlined)
> std::_Norm_helper<true>::_S_do_it<double> (inlined)
> std::norm<double> (inlined)
Shouldn't they have 'a4a' too?
Thanks,
Namhyung
> a4a main (/home/milian/projects/src/perf-tests/inlining)
> 20510 __libc_start_main (/usr/lib/libc-2.25.so)
> bd9 _start (/home/milian/projects/src/perf-tests/inlining)
>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Yao Jin <yao.jin@linux.intel.com>
> Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
> ---
> tools/perf/util/evsel_fprintf.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/evsel_fprintf.c b/tools/perf/util/evsel_fprintf.c
> index f2c6c5ee11e8..5b9e89257aa7 100644
> --- a/tools/perf/util/evsel_fprintf.c
> +++ b/tools/perf/util/evsel_fprintf.c
> @@ -157,7 +157,7 @@ int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
> }
> }
>
> - if (print_dso) {
> + if (print_dso && (!node->sym || !node->sym->inlined)) {
> printed += fprintf(fp, " (");
> printed += map__fprintf_dsoname(node->map, fp);
> printed += fprintf(fp, ")");
> @@ -166,6 +166,9 @@ int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
> if (print_srcline)
> printed += map__fprintf_srcline(node->map, addr, "\n ", fp);
>
> + if (node->sym && node->sym->inlined)
> + printed += fprintf(fp, " (inlined)");
> +
> if (!print_oneline)
> printed += fprintf(fp, "\n");
>
> --
> 2.13.0
>
[toc] | [prev] | [next] | [standalone]
| From | Milian Wolff <milian.wolff@kdab.com> |
|---|---|
| Date | 2017-05-24 13:50 +0200 |
| Message-ID | <tKCXE-1Q9-19@gated-at.bofh.it> |
| In reply to | #1646812 |
[Multipart message — attachments visible in raw view] — view raw
On Monday, May 22, 2017 2:11:58 PM CEST Namhyung Kim wrote: > On Thu, May 18, 2017 at 09:34:11PM +0200, Milian Wolff wrote: > > Instead of showing the (repeated) DSO name of the non-inlined > > frame, we now show the "(inlined)" suffix instead. > > > > Before: > > 214f7 __hypot_finite (/usr/lib/libm-2.25.so) > > > > ace3 hypot (/usr/lib/libm-2.25.so) > > > > std::__complex_abs > > (/home/milian/projects/src/perf-tests/inlining) > > std::abs<double> > > (/home/milian/projects/src/perf-tests/inlining) > > std::_Norm_helper<true>::_S_do_it<double> > > (/home/milian/projects/src/perf-tests/inlining) > > std::norm<double> > > (/home/milian/projects/src/perf-tests/inlining) > > > > a4a main > > (/home/milian/projects/src/perf-tests/inlining) > > > > 20510 __libc_start_main (/usr/lib/libc-2.25.so) > > > > bd9 _start > > (/home/milian/projects/src/perf-tests/inlining) > > > > After: > > 214f7 __hypot_finite (/usr/lib/libm-2.25.so) > > > > ace3 hypot (/usr/lib/libm-2.25.so) > > > > std::__complex_abs (inlined) > > std::abs<double> (inlined) > > std::_Norm_helper<true>::_S_do_it<double> > > (inlined) > > std::norm<double> (inlined) > > Shouldn't they have 'a4a' too? Yes, I think I forgot to update the commit message after I changed the behavior to keep compatibility with stackcollapse-perf.pl. Will update the message. Thanks -- Milian Wolff | milian.wolff@kdab.com | Software Engineer KDAB (Deutschland) GmbH&Co KG, a KDAB Group company Tel: +49-30-521325470 KDAB - The Qt Experts
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web