• Andi Kleen's avatar
    perf stat: Collapse identically named events · 430daf2d
    Andi Kleen authored
    The uncore PMU has a lot of duplicated PMUs for different subsystems.
    When expanding an uncore alias we usually end up with a large
    number of identically named aliases, which makes perf stat
    output difficult to read.
    
    Automatically sum them up in perf stat, unless --no-merge is specified.
    
    This can be default because only the uncores generally have duplicated
    aliases. Other PMUs have unique names.
    
    Before:
    
      % perf stat --no-merge -a -e unc_c_llc_lookup.any sleep 1
    
      Performance counter stats for 'system wide':
    
               694,976 Bytes unc_c_llc_lookup.any
               706,304 Bytes unc_c_llc_lookup.any
               956,608 Bytes unc_c_llc_lookup.any
               782,720 Bytes unc_c_llc_lookup.any
               605,696 Bytes unc_c_llc_lookup.any
               442,816 Bytes unc_c_llc_lookup.any
               659,328 Bytes unc_c_llc_lookup.any
               509,312 Bytes unc_c_llc_lookup.any
               263,936 Bytes unc_c_llc_lookup.any
               592,448 Bytes unc_c_llc_lookup.any
               672,448 Bytes unc_c_llc_lookup.any
               608,640 Bytes unc_c_llc_lookup.any
               641,024 Bytes unc_c_llc_lookup.any
               856,896 Bytes unc_c_llc_lookup.any
               808,832 Bytes unc_c_llc_lookup.any
               684,864 Bytes unc_c_llc_lookup.any
               710,464 Bytes unc_c_llc_lookup.any
               538,304 Bytes unc_c_llc_lookup.any
    
           1.002577660 seconds time elapsed
    
    After:
    
      % perf stat -a -e unc_c_llc_lookup.any sleep 1
    
      Performance counter stats for 'system wide':
    
             2,685,120 Bytes unc_c_llc_lookup.any
    
           1.002648032 seconds time elapsed
    
    v2: Split collect_aliases. Rename alias flag.
    v3: Make sure unsupported/not counted is always printed.
    v4: Factor out callback change into separate patch.
    v5: Move check for bad results here
        Move merged check into collect_data
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Link: http://lkml.kernel.org/r/20170320201711.14142-3-andi@firstfloor.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    430daf2d
evsel.h 12.8 KB