Re: [PATCH v2 04/10] perf, tools, script: Allow sym and dso without ip, addr

From: Andi Kleen
Date: Mon Sep 03 2018 - 12:14:06 EST


On Mon, Sep 03, 2018 at 09:15:10AM +0200, Jiri Olsa wrote:
> 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)

Yes it needs the next patch too. There's no good way to show the effect independently.

I will merge them into one.

-Andi