perf vendor events: Update metrics for Ivybridge
authorIan Rogers <irogers@google.com>
Tue, 1 Feb 2022 01:58:38 +0000 (17:58 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 15 Feb 2022 00:16:14 +0000 (21:16 -0300)
commite0f6eeefe44de8ed05fd588fb73fcd5d2da236a7
treeae90d48c1377a7f1a591e9f61edc7546773ac180
parentf16c32369bbe5ad60fb131f166f09256936cd7a4
perf vendor events: Update metrics for Ivybridge

Based on TMA_metrics-full.csv version 4.3 at 01.org:
    https://download.01.org/perfmon/
Events are still at version 21:
    https://download.01.org/perfmon/IVB
Json files generated by:
    https://github.com/intel/event-converter-for-linux-perf

Tested:

  ...
    6: Parse event definition strings                                  : Ok
    7: Simple expression parser                                        : Ok
  ...
    9: Parse perf pmu format                                           : Ok
   10: PMU events                                                      :
   10.1: PMU event table sanity                                        : Ok
   10.2: PMU event map aliases                                         : Ok
   10.3: Parsing of PMU event table metrics                            : Ok
   10.4: Parsing of PMU event table metrics with fake PMUs             : Ok
  ...
   68: Parse and process metrics                                       : Ok
  ...
   88: perf stat metrics (shadow stat) test                            : Ok
   89: perf all metricgroups test                                      : Ok
   90: perf all metrics test                                           : FAILED!
   91: perf all PMU test                                               : Ok
  ...

Test 90 failed for Load_Miss_Real_Latency with <not counted> events:

 Performance counter stats for 'perf bench internals synthesize':

     <not counted>      mem_load_uops_retired.hit_lfb                                     (0.00%)
     <not counted>      MEM_LOAD_UOPS_RETIRED.L1_MISS                                     (0.00%)
     <not counted>      L1D_PEND_MISS.PENDING                                         (0.00%)
         558185217 ns   duration_time

This is exposing a somewhat known issue with weak groups that can
be worked around with:

$ perf stat --metric-no-group -M Load_Miss_Real_Latency -a sleep 1

 Performance counter stats for 'system wide':

          14935022      mem_load_uops_retired.hit_lfb #    23.55 Load_Miss_Real_Latency   (83.23%)
           4716714      MEM_LOAD_UOPS_RETIRED.L1_MISS                                     (66.68%)
         462705675      L1D_PEND_MISS.PENDING                                         (83.22%)
        1001548340 ns   duration_time

       1.001548340 seconds time elapsed

Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.garry@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Zhengjun Xing <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20220201015858.1226914-7-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/pmu-events/arch/x86/ivybridge/cache.json
tools/perf/pmu-events/arch/x86/ivybridge/floating-point.json
tools/perf/pmu-events/arch/x86/ivybridge/frontend.json
tools/perf/pmu-events/arch/x86/ivybridge/ivb-metrics.json
tools/perf/pmu-events/arch/x86/ivybridge/memory.json
tools/perf/pmu-events/arch/x86/ivybridge/other.json
tools/perf/pmu-events/arch/x86/ivybridge/pipeline.json
tools/perf/pmu-events/arch/x86/ivybridge/uncore-cache.json [new file with mode: 0644]
tools/perf/pmu-events/arch/x86/ivybridge/uncore-other.json [new file with mode: 0644]
tools/perf/pmu-events/arch/x86/ivybridge/uncore.json [deleted file]
tools/perf/pmu-events/arch/x86/ivybridge/virtual-memory.json