Re: [PATCH v2 04/10] perf, tools, script: Allow sym and dso without ip, addr
From: Jiri Olsa
Date: Mon Sep 03 2018 - 03:15:16 EST
On Fri, Aug 31, 2018 at 03:02:00PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> Currently sym and dso require printing ip and addr because
> the print function is tied to those outputs. With callindent
> it makes sense to print the symbol or dso without numerical
> IP or ADDR. So change the dependency check to only check the
> underlying attribute.
>
> This allows to remove a lot of noise in callindent output by
> dropping the numerical addresses, which are not all that useful.
>
> Before
>
> % perf script --itrace=cr -F +callindent
> swapper 0 [000] 156546.354971: 1 branches: pt_config 0 [unknown] ([unknown]) => ffffffff81010486 pt_config ([kernel.kallsyms])
> swapper 0 [000] 156546.354971: 1 branches: pt_config ffffffff81010499 pt_config ([kernel.kallsyms]) => ffffffff8101063e pt_event_add ([kernel.kallsyms])
> swapper 0 [000] 156546.354971: 1 branches: pt_event_add ffffffff81010635 pt_event_add ([kernel.kallsyms]) => ffffffff8115e687 event_sched_in.isra.107 ([kernel.kallsyms])
> swapper 0 [000] 156546.354971: 1 branches: perf_pmu_enable ffffffff8115e726 event_sched_in.isra.107 ([kernel.kallsyms]) => ffffffff811579b0 perf_pmu_enable ([kernel.kallsyms])
> swapper 0 [000] 156546.354971: 1 branches: perf_pmu_nop_void ffffffff81151730 perf_pmu_nop_void ([kernel.kallsyms]) => ffffffff8115e72b event_sched_in.isra.107 ([kernel.kallsyms])
> swapper 0 [000] 156546.354971: 1 branches: event_sched_in.isra.107 ffffffff8115e737 event_sched_in.isra.107 ([kernel.kallsyms]) => ffffffff8115e7a5 group_sched_in ([kernel.kallsyms])
> swapper 0 [000] 156546.354971: 1 branches: __x86_indirect_thunk_rax ffffffff8115e7f6 group_sched_in ([kernel.kallsyms]) => ffffffff81a03000 __x86_indirect_thunk_rax ([kernel.kallsyms])
>
> After
>
> % perf script --itrace=cr -F +callindent,-ip,-sym,-symoff
> swapper 0 [000] 156546.354971: 1 branches: pt_config
> swapper 0 [000] 156546.354971: 1 branches: pt_config
> swapper 0 [000] 156546.354971: 1 branches: pt_event_add
> swapper 0 [000] 156546.354971: 1 branches: perf_pmu_enable
> swapper 0 [000] 156546.354971: 1 branches: perf_pmu_nop_void
> swapper 0 [000] 156546.354971: 1 branches: event_sched_in.isra.107
> swapper 0 [000] 156546.354971: 1 branches: __x86_indirect_thunk_rax
> swapper 0 [000] 156546.354971: 1 branches: perf_pmu_nop_int
> swapper 0 [000] 156546.354971: 1 branches: group_sched_in
> swapper 0 [000] 156546.354971: 1 branches: event_filter_match
> swapper 0 [000] 156546.354971: 1 branches: event_filter_match
> swapper 0 [000] 156546.354971: 1 branches: group_sched_in
I'm getting different output than advertised
[jolsa@krava perf]$ ./perf script --itrace=cr -F +callindent,-ip,-sym,-symoff | head -3
ls 1926 [000] 55509.544711: 1 branches:uhH: _start => 7f9722fa0f60 (/usr/lib64/ld-2.27.so)
ls 1926 [000] 55509.544711: 1 branches:uhH: _start => 0 ([unknown])
ls 1926 [000] 55509.544716: 1 branches:uhH: _start => 7f9722fa0f60 (/usr/lib64/ld-2.27.so)
jirka