[PATCH v8 0/8] Add metrics for Arm CMN

Jing Zhang renyu.zj at linux.alibaba.com
Thu Sep 7 04:58:25 PDT 2023


Changes since v7:
- Optimized pmu_uncore_identifier_match().
- Added all missing "event=0" in JSON file.
- Rebase this series onto the latest perf-tools-next.
- Link: https://lore.kernel.org/all/1692606977-92009-1-git-send-email-renyu.zj@linux.alibaba.com/

Jing Zhang (8):
  perf pmu: "Compat" supports matching multiple identifiers
  perf metric: "Compat" supports matching multiple identifiers
  perf vendor events: Supplement the omitted EventCode
  perf jevents: Support more event fields
  perf test: Make matching_pmu effective
  perf test: Add pmu-event test for "Compat" and new event_field.
  perf jevents: Add support for Arm CMN PMU aliasing
  perf vendor events: Add JSON metrics for Arm CMN

 .../pmu-events/arch/arm64/arm/cmn/sys/cmn.json     | 266 +++++++++++++++++++++
 .../pmu-events/arch/arm64/arm/cmn/sys/metric.json  |  74 ++++++
 .../pmu-events/arch/test/test_soc/sys/uncore.json  |   8 +
 .../pmu-events/arch/x86/alderlake/pipeline.json    |   9 +
 .../pmu-events/arch/x86/alderlaken/pipeline.json   |   3 +
 .../pmu-events/arch/x86/broadwell/pipeline.json    |   4 +
 .../pmu-events/arch/x86/broadwellde/pipeline.json  |   4 +
 .../arch/x86/broadwellde/uncore-cache.json         |   2 +
 .../arch/x86/broadwellde/uncore-interconnect.json  |   1 +
 .../arch/x86/broadwellde/uncore-memory.json        |   1 +
 .../arch/x86/broadwellde/uncore-power.json         |   1 +
 .../pmu-events/arch/x86/broadwellx/pipeline.json   |   4 +
 .../arch/x86/broadwellx/uncore-cache.json          |   2 +
 .../arch/x86/broadwellx/uncore-interconnect.json   |  13 +
 .../arch/x86/broadwellx/uncore-memory.json         |   2 +
 .../arch/x86/broadwellx/uncore-power.json          |   1 +
 .../pmu-events/arch/x86/cascadelakex/pipeline.json |   4 +
 .../arch/x86/cascadelakex/uncore-cache.json        |   2 +
 .../arch/x86/cascadelakex/uncore-interconnect.json |   1 +
 .../arch/x86/cascadelakex/uncore-io.json           |   1 +
 .../arch/x86/cascadelakex/uncore-memory.json       |   1 +
 .../arch/x86/cascadelakex/uncore-power.json        |   1 +
 .../pmu-events/arch/x86/elkhartlake/pipeline.json  |   2 +
 .../pmu-events/arch/x86/goldmont/pipeline.json     |   3 +
 .../pmu-events/arch/x86/goldmontplus/pipeline.json |   3 +
 .../pmu-events/arch/x86/grandridge/pipeline.json   |   3 +
 .../arch/x86/graniterapids/pipeline.json           |   4 +
 .../perf/pmu-events/arch/x86/haswell/pipeline.json |   4 +
 .../pmu-events/arch/x86/haswellx/pipeline.json     |   4 +
 .../pmu-events/arch/x86/haswellx/uncore-cache.json |   2 +
 .../arch/x86/haswellx/uncore-interconnect.json     |  14 ++
 .../arch/x86/haswellx/uncore-memory.json           |   2 +
 .../pmu-events/arch/x86/haswellx/uncore-power.json |   1 +
 .../perf/pmu-events/arch/x86/icelake/pipeline.json |   5 +
 .../pmu-events/arch/x86/icelakex/pipeline.json     |   5 +
 .../pmu-events/arch/x86/icelakex/uncore-cache.json |   1 +
 .../arch/x86/icelakex/uncore-interconnect.json     |   1 +
 .../arch/x86/icelakex/uncore-memory.json           |   1 +
 .../pmu-events/arch/x86/icelakex/uncore-power.json |   1 +
 .../pmu-events/arch/x86/ivybridge/pipeline.json    |   3 +
 .../perf/pmu-events/arch/x86/ivytown/pipeline.json |   4 +
 .../pmu-events/arch/x86/ivytown/uncore-cache.json  |   2 +
 .../arch/x86/ivytown/uncore-interconnect.json      |  11 +
 .../pmu-events/arch/x86/ivytown/uncore-memory.json |   1 +
 .../pmu-events/arch/x86/ivytown/uncore-power.json  |   1 +
 .../pmu-events/arch/x86/jaketown/pipeline.json     |   4 +
 .../pmu-events/arch/x86/jaketown/uncore-cache.json |   2 +
 .../arch/x86/jaketown/uncore-interconnect.json     |  12 +
 .../arch/x86/jaketown/uncore-memory.json           |   1 +
 .../pmu-events/arch/x86/jaketown/uncore-power.json |   2 +
 .../arch/x86/knightslanding/pipeline.json          |   3 +
 .../arch/x86/knightslanding/uncore-cache.json      |   1 +
 .../arch/x86/knightslanding/uncore-memory.json     |   4 +
 .../pmu-events/arch/x86/meteorlake/pipeline.json   |   9 +
 .../pmu-events/arch/x86/rocketlake/pipeline.json   |   3 +
 .../pmu-events/arch/x86/sandybridge/pipeline.json  |   4 +
 .../arch/x86/sapphirerapids/pipeline.json          |   5 +
 .../pmu-events/arch/x86/sierraforest/pipeline.json |   4 +
 .../pmu-events/arch/x86/silvermont/pipeline.json   |   3 +
 .../perf/pmu-events/arch/x86/skylake/pipeline.json |   4 +
 .../pmu-events/arch/x86/skylakex/pipeline.json     |   4 +
 .../pmu-events/arch/x86/skylakex/uncore-cache.json |   2 +
 .../arch/x86/skylakex/uncore-interconnect.json     |   1 +
 .../pmu-events/arch/x86/skylakex/uncore-io.json    |   1 +
 .../arch/x86/skylakex/uncore-memory.json           |   1 +
 .../pmu-events/arch/x86/skylakex/uncore-power.json |   1 +
 .../pmu-events/arch/x86/snowridgex/pipeline.json   |   2 +
 .../arch/x86/snowridgex/uncore-cache.json          |   1 +
 .../arch/x86/snowridgex/uncore-interconnect.json   |   1 +
 .../arch/x86/snowridgex/uncore-memory.json         |   1 +
 .../arch/x86/snowridgex/uncore-power.json          |   1 +
 .../pmu-events/arch/x86/tigerlake/pipeline.json    |   5 +
 tools/perf/pmu-events/empty-pmu-events.c           |   8 +
 tools/perf/pmu-events/jevents.py                   |  21 +-
 tools/perf/tests/pmu-events.c                      |  65 ++++-
 tools/perf/util/metricgroup.c                      |   2 +-
 tools/perf/util/pmu.c                              |  28 ++-
 tools/perf/util/pmu.h                              |   1 +
 78 files changed, 681 insertions(+), 9 deletions(-)
 create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/cmn.json
 create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metric.json

-- 
1.8.3.1




More information about the linux-arm-kernel mailing list