Re: [PATCH v3 0/7] perf: Add NVIDIA Tegra410 uncore PMU events and metrics

From: Ian Rogers

Date: Wed Nov 04 2026 - 11:29:09 EST


On Wed, Nov 4, 2026 at 8:08 AM Besar Wicaksono <bwicaksono@xxxxxxxxxx> wrote:
>
> Add event aliases and derived metrics for the NVIDIA Tegra410 uncore
> PMUs, and fix perf's aggregation of the Tegra410 PCIe PMU instances.
>
> The series covers the UCF, PCIe, PCIe target, CPU memory latency, and
> chip-to-chip interconnect PMUs. It provides symbolic names for the raw
> event encodings and metrics for bandwidth, frequency, and average read
> latency.
>
> The PCIe and PCIe target PMUs are named nvidia_pcie_pmu_<socket>_rc_<rc>
> and nvidia_pcie_tgt_pmu_<socket>_rc_<rc>. perf only strips the number at
> the end of a PMU name, so the instances of each socket were treated as a
> different PMU, and these events and metrics gave one result per socket
> and were reported incorrectly (e.g. with --metric-only), as discussed in
> v1 and v2. Patches 6 and 7 fix this:
>
> - Patch 6 adds a check of the cpumasks of all merged PMU instances to the
> zero-count skip in perf stat, so a socket that counts nothing shows 0
> instead of having its row hidden.
> - Patch 7 treats both numbers of the NVIDIA PCIe PMU names as the
> suffix, so the instances on all sockets are merged as nvidia_pcie_pmu
> or nvidia_pcie_tgt_pmu. Per-RC results are still available with
> --no-aggr or -A.
>
> Changes in v3:
> - Replace v2 patches 7-9 (merging PMU instances that match the same
> comma-separated json Unit, naming a merged counter after all of its
> PMUs, and the ABI document) with a special case for the NVIDIA PCIe
> PMU names in pmu_name_len_no_suffix(), perf_pmu__match_wildcard() and
> pmu_name_cmp(). Thanks to Ian Rogers for the suggestion.
>
> Changes in v2:
> - Move the uncore JSON out of the sys directory and remove the
> "Compat" fields. Thanks to Ian Rogers for the feedback.
> - Drop "perf jevents: Process model files before sys subdirectories",
> which this series no longer needs.
> - Add UCF SLC and memory bandwidth metrics from all sources to local
> CMEM (read, write and read+write) and from local sources to local
> CMEM and to remote memory, PCIe bandwidth metrics to local
> destinations, and read+write bandwidth metrics for UCF SLC, UCF
> memory and PCIe. Thanks to Chun-Tse Shao for the suggestion.
> - Add patches 6-9 to fix the PCIe instance aggregation. Thanks to Ian
> Rogers and Chun-Tse Shao for the pointers.
>
> v2: https://lore.kernel.org/all/20261030174816.1544471-1-bwicaksono@xxxxxxxxxx/
> v1: https://lore.kernel.org/all/20261019164241.403644-1-bwicaksono@xxxxxxxxxx/
>
> Besar Wicaksono (7):
> perf jevents: Add support for NVIDIA Tegra410 UCF PMU aliasing
> perf jevents: Add support for NVIDIA Tegra410 PCIE PMU aliasing
> perf jevents: Add support for NVIDIA Tegra410 PCIE-TGT PMU aliasing
> perf jevents: Add support for NVIDIA Tegra410 CPU Memory Latency PMU
> aliasing
> perf jevents: Add support for NVIDIA Tegra410 C2C PMU aliasing
> perf stat: Check merged PMU instance's cpumasks when skipping zero
> counts
> perf pmus: Treat both numbers of NVIDIA PCIe PMU names as suffix

Other than the nit the that commit messages adding events refer to it
as "PMU aliasing":

Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> .../arm64/nvidia/t410/uncore-cpu_mem.json | 43 +
> .../arm64/nvidia/t410/uncore-nvclink.json | 67 ++
> .../arm64/nvidia/t410/uncore-nvdlink.json | 43 +
> .../arm64/nvidia/t410/uncore-nvlink_c2c.json | 115 +++
> .../arch/arm64/nvidia/t410/uncore-pcie.json | 249 ++++++
> .../arm64/nvidia/t410/uncore-pcie_tgt.json | 83 ++
> .../arch/arm64/nvidia/t410/uncore-ucf.json | 764 ++++++++++++++++++
> tools/perf/util/pmu.c | 9 +
> tools/perf/util/pmus.c | 23 +
> tools/perf/util/stat-display.c | 20 +
> 10 files changed, 1416 insertions(+)
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-cpu_mem.json
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-nvclink.json
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-nvdlink.json
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-nvlink_c2c.json
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-pcie.json
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-pcie_tgt.json
> create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/uncore-ucf.json
>
> --
> 2.43.0
>