• Andi Kleen's avatar
    perf script: Allow sym and dso without ip, addr · 37fed3de
    Andi Kleen authored
    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.
    
    Also the branch target output relies on the user_set flag to determine
    if the branch target should be implicitely printed. When modifying the
    fields with + or - also set user_set, so that ADDR can be removed. We
    also need to set wildcard_set to make the initial sanity check pass.
    
    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
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Link: http://lkml.kernel.org/r/20180918123214.26728-5-andi@firstfloor.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    37fed3de
builtin-script.c 91.4 KB