• Zhengjun Xing's avatar
    perf stat: Support hybrid --topdown option · d7e3c397
    Zhengjun Xing authored
    Since for cpu_core or cpu_atom, they have different topdown events
    groups.
    
    For cpu_core, --topdown equals to:
    
    "{slots,cpu_core/topdown-retiring/,cpu_core/topdown-bad-spec/,
      cpu_core/topdown-fe-bound/,cpu_core/topdown-be-bound/,
      cpu_core/topdown-heavy-ops/,cpu_core/topdown-br-mispredict/,
      cpu_core/topdown-fetch-lat/,cpu_core/topdown-mem-bound/}"
    
    For cpu_atom, --topdown equals to:
    
    "{cpu_atom/topdown-retiring/,cpu_atom/topdown-bad-spec/,
     cpu_atom/topdown-fe-bound/,cpu_atom/topdown-be-bound/}"
    
    To simplify the implementation, on hybrid, --topdown is used
    together with --cputype. If without --cputype, it uses cpu_core
    topdown events by default.
    
      # ./perf stat --topdown -a  sleep 1
      WARNING: default to use cpu_core topdown events
    
       Performance counter stats for 'system wide':
    
                  retiring      bad speculation       frontend bound        backend bound     heavy operations     light operations    branch mispredict       machine clears        fetch latency      fetch bandwidth         memory bound           Core bound
                      4.1%                 0.0%                 5.1%                90.8%                 2.3%                 1.8%                 0.0%                 0.0%                 4.2%                 0.9%                 9.9%                81.0%
    
             1.002624229 seconds time elapsed
    
      # ./perf stat --topdown -a --cputype atom  sleep 1
    
       Performance counter stats for 'system wide':
    
                  retiring      bad speculation       frontend bound        backend bound
                     13.5%                 0.1%                31.2%                55.2%
    
             1.002366987 seconds time elapsed
    Reviewed-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Signed-off-by: default avatarXing Zhengjun <zhengjun.xing@linux.intel.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20220422065635.767648-3-zhengjun.xing@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    d7e3c397
topdown.h 339 Bytes