[PATCH v3 0/7] perf: Add NVIDIA Tegra410 uncore PMU events and metrics
Besar Wicaksono
bwicaksono at nvidia.com
Thu Nov 12 08:26:31 PST 2026
> -----Original Message-----
> From: Ian Rogers <irogers at google.com>
> Sent: Wednesday, November 4, 2026 4:26 PM
> To: Besar Wicaksono <bwicaksono at nvidia.com>
> Cc: acme at kernel.org; namhyung at kernel.org; ctshao at google.com; linux-
> tegra at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-perf-
> users at vger.kernel.org; linux-kernel at vger.kernel.org; Vikram Sethi
> <vsethi at nvidia.com>; Rich Wiley <rwiley at nvidia.com>; Sean Kelley
> <skelley at nvidia.com>; Matt Ochs <mochs at nvidia.com>; Raj Joshi
> <rajjoshi at nvidia.com>; Thierry Reding <treding at nvidia.com>; Jon Hunter
> <jonathanh at nvidia.com>; john.garry at linux.dev; will at kernel.org;
> james.clark at linaro.org; mike.leach at arm.com; leo.yan at linux.dev;
> mark.rutland at arm.com; alexander.shishkin at linux.intel.com;
> jolsa at kernel.org; adrian.hunter at intel.com
> Subject: Re: [PATCH v3 0/7] perf: Add NVIDIA Tegra410 uncore PMU events
> and metrics
>
> External email: Use caution opening links or attachments
>
>
> On Wed, Nov 4, 2026 at 8:08 AM Besar Wicaksono
> <bwicaksono at nvidia.com> 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 at nvidia.com/
> > v1: https://lore.kernel.org/all/20261019164241.403644-1-
> bwicaksono at nvidia.com/
> >
> > 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 at google.com>
>
Thanks Ian.
Hi Arnaldo,
Can we take these series?
Regards,
Besar
> 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
> >
More information about the linux-arm-kernel
mailing list