[PATCH RFC 0/4] Add JSON metrics for arm CMN and Yitian710 DDR

Jing Zhang renyu.zj at linux.alibaba.com
Sun Mar 26 19:46:08 PDT 2023


Hi all,

I add an identifier sysfs file for the yitian710 SoC DDR and arm CMN to
allow userspace to identify the specific implementation of the device,
so that the perf tool can match the corresponding uncore events and
metrics through the identifier. Then added several general CMN700 metrics
and yitian710 soc DDR metrics.

Since the eventid of cmn700 events is different from other events, it
can't be specified by "EventCode" or "ConfigCode", so in the cmn.json
file of cmn700, no "EventCode" and "ConfigCode" are added for these
events. For example, the eventid of "arm_cmn_0/hnf_sf_hit is/":
cat /sys/bus/event_source/devices/arm_cmn_0/events/hnf_sf_hit
type=0x5,eventid=0x6

In addition, both cmn700 and ddr PMU can count the information in a die,
but the same SoC can also be configured with different numbers of dies,
so it is dificult to design a general expression to obtain metrics in
different dies. The current yitian710 ddr bandwidth metric describes the
sum of all dies bandwidth. I would like to ask you, is there any general
expression can obtain metrics for die? Add an option to specify die?

Thanks,
Jing

Jing Zhang (4):
  driver/perf: Add identifier sysfs file for CMN
  perf vendor events: Add JSON metrics for cmn700
  driver/perf: Add identifier sysfs file for Yitian 710 DDR
  perf vendor events: Add JSON metrics for Yitian 710 DDR

 drivers/perf/alibaba_uncore_drw_pmu.c              |  27 ++
 drivers/perf/arm-cmn.c                             |  43 +++
 .../pmu-events/arch/arm64/arm/cmn700/sys/cmn.json  | 188 +++++++++++
 .../arch/arm64/arm/cmn700/sys/metrics.json         |  74 ++++
 .../arm64/freescale/yitian710/sys/ali_drw.json     | 373 +++++++++++++++++++++
 .../arm64/freescale/yitian710/sys/metrics.json     |  20 ++
 tools/perf/pmu-events/jevents.py                   |   2 +
 7 files changed, 727 insertions(+)
 create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/cmn.json
 create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/metrics.json
 create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.json
 create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json

-- 
1.8.3.1




More information about the linux-arm-kernel mailing list