• Kan Liang's avatar
    perf stat: Add Topdown metrics events as default events · 42641d6f
    Kan Liang authored
    The Topdown Microarchitecture Analysis (TMA) Method is a structured
    analysis methodology to identify critical performance bottlenecks in
    out-of-order processors. From the Ice Lake and later platforms, the
    Topdown information can be retrieved from the dedicated "metrics"
    register, which isn't impacted by other events. Also, the Topdown
    metrics support both per thread/process and per core measuring.  Adding
    Topdown metrics events as default events can enrich the default
    measuring information, and would not cost any extra multiplexing.
    
    Introduce arch_evlist__add_default_attrs() to allow architecture
    specific default events. Add the Topdown metrics events in the X86
    specific arch_evlist__add_default_attrs(). Other architectures can add
    their own default events later separately.
    
    With the patch:
    
     $ perf stat sleep 1
    
     Performance counter stats for 'sleep 1':
    
               0.82 msec task-clock:u              #    0.001 CPUs utilized
                  0      context-switches:u        #    0.000 K/sec
                  0      cpu-migrations:u          #    0.000 K/sec
                 61      page-faults:u             #    0.074 M/sec
            319,941      cycles:u                  #    0.388 GHz
            242,802      instructions:u            #    0.76  insn per cycle
             54,380      branches:u                #   66.028 M/sec
              4,043      branch-misses:u           #    7.43% of all branches
          1,585,555      slots:u                   # 1925.189 M/sec
            238,941      topdown-retiring:u        #     15.0% retiring
            410,378      topdown-bad-spec:u        #     25.8% bad speculation
            634,222      topdown-fe-bound:u        #     39.9% frontend bound
            304,675      topdown-be-bound:u        #     19.2% backend bound
    
           1.001791625 seconds time elapsed
    
           0.000000000 seconds user
           0.001572000 seconds sys
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jin Yao <yao.jin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lore.kernel.org/lkml/20210121133752.118327-1-kan.liang@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    42641d6f
builtin-stat.c 65.9 KB