* [PATCH 2/6] perf jevents: Add support for NVIDIA Tegra410 UCF PMU aliasing
2026-10-19 16:42 [PATCH 0/6] perf jevents: Add NVIDIA Tegra410 uncore PMU events and metrics Besar Wicaksono
2026-10-19 16:42 ` [PATCH 1/6] perf jevents: Process model files before sys subdirectories Besar Wicaksono
@ 2026-10-19 16:42 ` Besar Wicaksono
2026-10-19 16:42 ` [PATCH 3/6] perf jevents: Add support for NVIDIA Tegra410 PCIE " Besar Wicaksono
` (4 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Besar Wicaksono @ 2026-10-19 16:42 UTC (permalink / raw)
To: acme, namhyung, irogers
Cc: linux-tegra, linux-arm-kernel, linux-perf-users, linux-kernel,
vsethi, rwiley, skelley, mochs, rajjoshi, treding, jonathanh,
john.garry, will, james.clark, mike.leach, leo.yan, mark.rutland,
alexander.shishkin, jolsa, adrian.hunter, ctshao,
Besar Wicaksono
Add alias support for NVIDIA Tegra410 UCF PMU events and metrics.
Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com>
---
.../arm64/nvidia/t410/sys/uncore-ucf.json | 693 ++++++++++++++++++
1 file changed, 693 insertions(+)
create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-ucf.json
diff --git a/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-ucf.json b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-ucf.json
new file mode 100644
index 000000000000..37dae2a65fc8
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-ucf.json
@@ -0,0 +1,693 @@
+[
+ {
+ "EventCode": "0x100000000",
+ "EventName": "UCF_CYCLES",
+ "BriefDescription": "Counts UCF cycles using the dedicated PMU cycle counter.",
+ "PublicDescription": "Counts UCF cycles using the PMU's dedicated cycle counter.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x1d",
+ "EventName": "UCF_BUS_CYCLES",
+ "BriefDescription": "Counts UCF cycles using a programmable event counter.",
+ "PublicDescription": "Counts UCF cycles using a programmable event counter. The count is identical to UCF_CYCLES. Source and destination filters are ignored.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x111",
+ "EventName": "UCF_SLC_ACCESS_RD",
+ "BriefDescription": "Counts read requests from a requester to the SLC.",
+ "PublicDescription": "Counts read requests from a requester to the SLC. A read is a request for which the completer returns data: dataless MakeReadUnique and snoop requests are not reads, and prefetches issued by the cores' L1/L2 caches count as reads rather than as prefetch requests. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x112",
+ "EventName": "UCF_SLC_ACCESS_WR",
+ "BriefDescription": "Counts write requests from a requester to the SLC.",
+ "PublicDescription": "Counts write requests from a requester to the SLC. A write is a request in which the requester sends data: dataless WriteEvictOrEvict is not a write, and CHI Write*Zero is a write because it eventually consumes DRAM bandwidth although it sends no data over the interface. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x183",
+ "EventName": "UCF_SLC_ACCESS_DATALESS",
+ "BriefDescription": "Counts CHI Dataless requests to the SLC.",
+ "PublicDescription": "Counts CHI Dataless requests to the SLC. Dataless MakeReadUnique and WriteEvictOrEvict requests are not counted. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x184",
+ "EventName": "UCF_SLC_ACCESS_ATOMIC",
+ "BriefDescription": "Counts CHI Atomic requests to the SLC.",
+ "PublicDescription": "Counts CHI Atomic requests to the SLC. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x113",
+ "EventName": "UCF_SLC_BYTES_RD",
+ "BriefDescription": "Counts bytes transferred by the read requests counted by UCF_SLC_ACCESS_RD.",
+ "PublicDescription": "Counts the bytes transferred by the read requests counted by UCF_SLC_ACCESS_RD, including read data sent by Direct Memory Transfer (DMT) or Direct Cache Transfer (DCT). For transfers of an odd number of bytes, the count is rounded to the nearest power of 2 greater than the bytes transferred. Because reads can be smaller than 64 bytes, the count may not equal UCF_SLC_ACCESS_RD times 64. Source and destination filters work as described for UCF_SLC_ACCESS_RD.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x114",
+ "EventName": "UCF_SLC_BYTES_WR",
+ "BriefDescription": "Counts bytes transferred by the write requests counted by UCF_SLC_ACCESS_WR.",
+ "PublicDescription": "Counts the bytes transferred by the write requests counted by UCF_SLC_ACCESS_WR, including write data sent by Direct Write Transfer (DWT). For transfers of an odd number of bytes, the count is rounded to the nearest power of 2. Data returned to the SLC by a requester's cache in response to a snoop is not counted. Because writes can be smaller than 64 bytes, the count may not equal UCF_SLC_ACCESS_WR times 64. Source and destination filters work as described for UCF_SLC_ACCESS_WR.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x119",
+ "EventName": "UCF_SLC_HIT_RD",
+ "BriefDescription": "Counts inbound read requests that hit in the SLC's L3 cache or in a peer requester cache.",
+ "PublicDescription": "Counts inbound read requests that hit in the SLC's L3 cache or in a peer requester cache, including one in a remote socket. Some hits are still refilled from memory (see UCF_SLC_REFILL_RD). Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x109",
+ "EventName": "UCF_SLC_REFILL_RD",
+ "BriefDescription": "Counts inbound read requests not supplied by the local socket's L1, L2 or L3 caches.",
+ "PublicDescription": "Counts inbound read requests not supplied by the local socket's L1, L2 or L3 caches. For remote-memory addresses, it also counts each Shared-to-Unique permission upgrade (dataless MakeReadUnique) of a cache line shared by requesters in different sockets. A refill is not the same as a miss: the SLC may fetch data from memory even when a requester cache holds clean data, and such accesses are hits that are still refilled. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x10a",
+ "EventName": "UCF_SLC_REFILL_WR",
+ "BriefDescription": "Counts inbound write requests not supplied by the local socket's L1, L2 or L3 caches.",
+ "PublicDescription": "Counts inbound write requests not supplied by the local socket's L1, L2 or L3 caches. A write refill occurs only for a partial write that needs the existing data; dataless write requests do not cause a refill and are not counted. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0xf0",
+ "EventName": "UCF_SLC_ALLOCATE",
+ "BriefDescription": "Counts read, write, atomic or prefetch accesses that allocate a line in the SLC's L3 cache.",
+ "PublicDescription": "Counts read, write, atomic or prefetch accesses that allocate a line in the SLC's L3 cache. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0xf3",
+ "EventName": "UCF_SLC_WB",
+ "BriefDescription": "Counts SLC eviction and coherence write-backs, and non-allocating write-backs from upstream clients.",
+ "PublicDescription": "Counts SLC write-backs: eviction write-backs, coherence write-backs, and non-allocating write-backs from upstream clients. Evictions include L3 cache and snoop filter evictions. A coherence write-back occurs when data is dirty in the L3 cache or another requester node cache, but a requesting agent needs clean data. A home SLC in another socket, or the GL2 of a connected local or remote GPU (the point of coherence for GPU memory), can evict a line and snoop this SLC. A data-bearing snoop response from this SLC is not counted by this event, though it uses this SLC's downstream bandwidth. For a home SLC eviction, the home SLC's events count the downstream write traffic it causes. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the initiator of the request that caused the write-back: local CPU, local non-CPU device or remote socket. This need not be the agent that produced or modified the data. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the memory written back: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x180",
+ "EventName": "UCF_LOCAL_SNOOP",
+ "BriefDescription": "Counts snoop requests sent by this SLC to local fully coherent requester nodes or to an SLC in another socket.",
+ "PublicDescription": "Counts snoop requests sent by this SLC to fully coherent requester nodes in the local socket or to an SLC in another socket, including an SLC that this SLC tracks as a sharing node. Invalidating, forwarding, and non-forwarding snoops are included. Each snoop request is counted separately, even when one transaction snoops several clients for the same cache line. Snoops generated for atomic requests or dataless requests are not counted. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the initiator of the request that caused the snoop: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x181",
+ "EventName": "UCF_EXT_SNP_ACCESS",
+ "BriefDescription": "Counts snoop requests that a home SLC or GL2 in another socket sends to this SLC.",
+ "PublicDescription": "Counts snoop requests that a home SLC or GL2 in another socket sends to this SLC. Snoops are counted whether or not the response carries data. Filters: every counted snoop matches src_rem and dst_rem, since it comes from a remote initiator for an address homed in another socket. An unset source or destination group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x182",
+ "EventName": "UCF_EXT_SNP_EVICT",
+ "BriefDescription": "Counts snoop requests from a home SLC or GL2 in another socket that invalidate an L3 cache or snoop filter entry in this SLC.",
+ "PublicDescription": "Counts snoop requests from a home SLC or GL2 in another socket that invalidate an L3 cache entry or snoop filter entry in this SLC. Snoops are counted whether or not the response carries data, so this event cannot give the number or volume of data-bearing snoop responses (see UCF_SLC_WB). Filters: every counted snoop matches src_rem and dst_rem, since it comes from a remote initiator for an address homed in another socket. An unset source or destination group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x121",
+ "EventName": "UCF_MEM_ACCESS_RD",
+ "BriefDescription": "Counts read requests from the SLC toward local CMEM, local GMEM, local CXL memory or remote memory.",
+ "PublicDescription": "Counts read requests from the SLC toward local CMEM, local GMEM, local CXL memory or remote memory. For remote memory it can overcount: it also increments for each Shared-to-Unique permission upgrade (dataless MakeReadUnique) of a cache line shared by requesters in different sockets. To count reads from remote sources without this overcount, count UCF_SLC_ACCESS_RD on the memory's home socket with src_rem, dst_loc_cmem, dst_loc_gmem and dst_loc_other set. Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x122",
+ "EventName": "UCF_MEM_ACCESS_WR",
+ "BriefDescription": "Counts write requests from the SLC toward local CMEM, local GMEM, local CXL memory or remote memory.",
+ "PublicDescription": "Counts write requests from the SLC toward local CMEM, local GMEM, local CXL memory or remote memory. It includes SLC write-backs, which are attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB). Filters: src_loc_cpu, src_loc_noncpu and src_rem select the request initiator: local CPU, local non-CPU device or remote socket. dst_loc_cmem, dst_loc_gmem, dst_loc_other and dst_rem select the memory type of the request address: local CMEM, local GMEM, local CXL memory or remote memory; local or remote is determined by the home socket of the address. An unset group counts all.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x123",
+ "EventName": "UCF_MEM_BYTES_RD",
+ "BriefDescription": "Counts bytes transferred by the read requests counted by UCF_MEM_ACCESS_RD.",
+ "PublicDescription": "Counts bytes transferred by the read requests counted by UCF_MEM_ACCESS_RD. Source and destination filters work as described for UCF_MEM_ACCESS_RD.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "EventCode": "0x124",
+ "EventName": "UCF_MEM_BYTES_WR",
+ "BriefDescription": "Counts bytes transferred by the write requests counted by UCF_MEM_ACCESS_WR.",
+ "PublicDescription": "Counts bytes transferred by the write requests counted by UCF_MEM_ACCESS_WR, including write-back data attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB). Source and destination filters work as described for UCF_MEM_ACCESS_WR.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_freq",
+ "MetricGroup": "UCF_Frequency",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(UCF_CYCLES / aggr_nr(UCF_CYCLES)) / 1e9 / duration_time",
+ "ScaleUnit": "1GHz",
+ "BriefDescription": "UCF clock frequency.",
+ "PublicDescription": "Average UCF clock frequency over the measurement interval.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_all_src_to_all_dst",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_All_Src_To_All_Dst",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_cpu=1,src_loc_noncpu=1,src_rem=1,dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_other=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for requests from all sources to all destinations.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local CPUs, local non-CPU devices and remote sockets for local CMEM, local GMEM, local CXL memory and remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_all_src_to_all_dst",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_All_Src_To_All_Dst",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_cpu=1,src_loc_noncpu=1,src_rem=1,dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_other=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for all memory destinations, for requests from all initiators.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CMEM, local GMEM, local CXL memory and remote memory, for requests initiated by local CPUs, local non-CPU devices and remote sockets.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_all_src_to_all_dst",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_All_Src_To_All_Dst",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_cpu=1,src_loc_noncpu=1,src_rem=1,dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_other=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for requests from all sources to all destinations.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local CPUs, local non-CPU devices and remote sockets for local CMEM, local GMEM, local CXL memory and remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_all_src_to_all_dst",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_All_Src_To_All_Dst",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_cpu=1,src_loc_noncpu=1,src_rem=1,dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_other=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local and remote memory, for traffic from all initiators.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CMEM, local GMEM, local CXL memory and remote memory, for traffic initiated by local CPUs, local non-CPU devices and remote sockets. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_cpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_CPU;UCF_BW_Local_CMEM;UCF_BW_Local_CPU_To_Local_CMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_cpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local CPU requests to local CMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local CPUs for local CMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_cpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_CPU;UCF_BW_Local_CMEM;UCF_BW_Local_CPU_To_Local_CMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_cpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local CMEM, for requests initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CMEM, for requests initiated by local CPUs.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_cpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_CPU;UCF_BW_Local_CMEM;UCF_BW_Local_CPU_To_Local_CMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_cpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local CPU requests to local CMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local CPUs for local CMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_cpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_CPU;UCF_BW_Local_CMEM;UCF_BW_Local_CPU_To_Local_CMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_cpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local CMEM, for traffic initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CMEM, for traffic initiated by local CPUs. Includes write-backs, attributed as described for UCF_SLC_WB.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_cpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_CPU;UCF_BW_Local_GMEM;UCF_BW_Local_CPU_To_Local_GMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_cpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local CPU requests to local GMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local CPUs for local GMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_cpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_CPU;UCF_BW_Local_GMEM;UCF_BW_Local_CPU_To_Local_GMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_cpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local GMEM, for requests initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local GMEM, for requests initiated by local CPUs.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_cpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_CPU;UCF_BW_Local_GMEM;UCF_BW_Local_CPU_To_Local_GMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_cpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local CPU requests to local GMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local CPUs for local GMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_cpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_CPU;UCF_BW_Local_GMEM;UCF_BW_Local_CPU_To_Local_GMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_cpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local GMEM, for traffic initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local GMEM, for traffic initiated by local CPUs. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_cpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_CPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_CPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_cpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local CPU requests to local CXL memory addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local CPUs for local CXL memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_cpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_CPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_CPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_cpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local CXL memory, for requests initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CXL memory, for requests initiated by local CPUs.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_cpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_CPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_CPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_cpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local CPU requests to local CXL memory addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local CPUs for local CXL memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_cpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_CPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_CPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_cpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local CXL memory, for traffic initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CXL memory, for traffic initiated by local CPUs. Includes write-backs, attributed as described for UCF_SLC_WB.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_cpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_CPU;UCF_BW_Remote_Memory;UCF_BW_Local_CPU_To_Remote_Memory",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_cpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local CPU requests to remote memory addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local CPUs for remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_cpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_CPU;UCF_BW_Remote_Memory;UCF_BW_Local_CPU_To_Remote_Memory",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_cpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for remote memory, for requests initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for remote memory, for requests initiated by local CPUs.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_cpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_CPU;UCF_BW_Remote_Memory;UCF_BW_Local_CPU_To_Remote_Memory",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_cpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local CPU requests to remote memory addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local CPUs for remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_cpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_CPU;UCF_BW_Remote_Memory;UCF_BW_Local_CPU_To_Remote_Memory",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_cpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for remote memory, for traffic initiated by local CPUs.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for remote memory, for traffic initiated by local CPUs. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_noncpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Local_CMEM;UCF_BW_Local_NonCPU_To_Local_CMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_noncpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local non-CPU requests to local CMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for local CMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_noncpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Local_CMEM;UCF_BW_Local_NonCPU_To_Local_CMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_noncpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local CMEM, for requests initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CMEM, for requests initiated by local non-CPU devices such as the GPU and PCIe devices.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_noncpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Local_CMEM;UCF_BW_Local_NonCPU_To_Local_CMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_noncpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local non-CPU requests to local CMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for local CMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_noncpu_to_local_cmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Local_CMEM;UCF_BW_Local_NonCPU_To_Local_CMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_noncpu=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local CMEM, for traffic initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CMEM, for traffic initiated by local non-CPU devices such as the GPU and PCIe devices. Includes write-backs, attributed as described for UCF_SLC_WB.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_noncpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Local_GMEM;UCF_BW_Local_NonCPU_To_Local_GMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_noncpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local non-CPU requests to local GMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for local GMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_noncpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Local_GMEM;UCF_BW_Local_NonCPU_To_Local_GMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_noncpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local GMEM, for requests initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local GMEM, for requests initiated by local non-CPU devices such as the GPU and PCIe devices.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_noncpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Local_GMEM;UCF_BW_Local_NonCPU_To_Local_GMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_noncpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local non-CPU requests to local GMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for local GMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_noncpu_to_local_gmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Local_GMEM;UCF_BW_Local_NonCPU_To_Local_GMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_noncpu=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local GMEM, for traffic initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local GMEM, for traffic initiated by local non-CPU devices such as the GPU and PCIe devices. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_noncpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_NonCPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_noncpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local non-CPU requests to local CXL memory addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for local CXL memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_noncpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_NonCPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_noncpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local CXL memory, for requests initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CXL memory, for requests initiated by local non-CPU devices such as the GPU and PCIe devices.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_noncpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_NonCPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_noncpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local non-CPU requests to local CXL memory addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for local CXL memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_noncpu_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Local_CXLMEM;UCF_BW_Local_NonCPU_To_Local_CXLMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_noncpu=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local CXL memory, for traffic initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CXL memory, for traffic initiated by local non-CPU devices such as the GPU and PCIe devices. Includes write-backs, attributed as described for UCF_SLC_WB.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_local_noncpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Remote_Memory;UCF_BW_Local_NonCPU_To_Remote_Memory",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_loc_noncpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for local non-CPU requests to remote memory addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_local_noncpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Local_NonCPU;UCF_BW_Remote_Memory;UCF_BW_Local_NonCPU_To_Remote_Memory",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_loc_noncpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for remote memory, for requests initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for remote memory, for requests initiated by local non-CPU devices such as the GPU and PCIe devices.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_local_noncpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Remote_Memory;UCF_BW_Local_NonCPU_To_Remote_Memory",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_loc_noncpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for local non-CPU requests to remote memory addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from local non-CPU devices such as the GPU and PCIe devices for remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_local_noncpu_to_remote_mem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Local_NonCPU;UCF_BW_Remote_Memory;UCF_BW_Local_NonCPU_To_Remote_Memory",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_loc_noncpu=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for remote memory, for traffic initiated by local non-CPU devices.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for remote memory, for traffic initiated by local non-CPU devices such as the GPU and PCIe devices. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_remote_to_local_cmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Remote_Source;UCF_BW_Local_CMEM;UCF_BW_Remote_To_Local_CMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_rem=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for remote-socket requests to local CMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from a remote socket for local CMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_remote_to_local_cmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Remote_Source;UCF_BW_Local_CMEM;UCF_BW_Remote_To_Local_CMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_rem=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local CMEM, for requests initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CMEM, for requests initiated by a remote socket.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_remote_to_local_cmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Remote_Source;UCF_BW_Local_CMEM;UCF_BW_Remote_To_Local_CMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_rem=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for remote-socket requests to local CMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from a remote socket for local CMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_remote_to_local_cmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Remote_Source;UCF_BW_Local_CMEM;UCF_BW_Remote_To_Local_CMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_rem=1,dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local CMEM, for traffic initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CMEM, for traffic initiated by a remote socket. Includes write-backs, attributed as described for UCF_SLC_WB.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_remote_to_local_gmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Remote_Source;UCF_BW_Local_GMEM;UCF_BW_Remote_To_Local_GMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_rem=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for remote-socket requests to local GMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from a remote socket for local GMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_remote_to_local_gmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Remote_Source;UCF_BW_Local_GMEM;UCF_BW_Remote_To_Local_GMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_rem=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local GMEM, for requests initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local GMEM, for requests initiated by a remote socket.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_remote_to_local_gmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Remote_Source;UCF_BW_Local_GMEM;UCF_BW_Remote_To_Local_GMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_rem=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for remote-socket requests to local GMEM addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from a remote socket for local GMEM addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_remote_to_local_gmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Remote_Source;UCF_BW_Local_GMEM;UCF_BW_Remote_To_Local_GMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_rem=1,dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local GMEM, for traffic initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local GMEM, for traffic initiated by a remote socket. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_remote_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Remote_Source;UCF_BW_Local_CXLMEM;UCF_BW_Remote_To_Local_CXLMEM",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_rem=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for remote-socket requests to local CXL memory addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from a remote socket for local CXL memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_remote_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Remote_Source;UCF_BW_Local_CXLMEM;UCF_BW_Remote_To_Local_CXLMEM",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_rem=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for local CXL memory, for requests initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for local CXL memory, for requests initiated by a remote socket.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_remote_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Remote_Source;UCF_BW_Local_CXLMEM;UCF_BW_Remote_To_Local_CXLMEM",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_rem=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for remote-socket requests to local CXL memory addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from a remote socket for local CXL memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_remote_to_local_cxlmem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Remote_Source;UCF_BW_Local_CXLMEM;UCF_BW_Remote_To_Local_CXLMEM",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_rem=1,dst_loc_other=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for local CXL memory, for traffic initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for local CXL memory, for traffic initiated by a remote socket. Includes write-backs, attributed as described for UCF_SLC_WB.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_rd_bandwidth_remote_to_remote_mem",
+ "MetricGroup": "UCF_BW_Upstream_RD;UCF_BW_Remote_Source;UCF_BW_Remote_Memory;UCF_BW_Remote_To_Remote_Memory",
+ "MetricExpr": "UCF_SLC_BYTES_RD@src_rem=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC read bandwidth for remote-socket requests to remote memory addresses.",
+ "PublicDescription": "Average requester-to-SLC read bandwidth of requests from a remote socket for remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_rd_bandwidth_remote_to_remote_mem",
+ "MetricGroup": "UCF_BW_Downstream_RD;UCF_BW_Remote_Source;UCF_BW_Remote_Memory;UCF_BW_Remote_To_Remote_Memory",
+ "MetricExpr": "UCF_MEM_BYTES_RD@src_rem=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory read bandwidth for remote memory, for requests initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory read bandwidth for remote memory, for requests initiated by a remote socket.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_slc_wr_bandwidth_remote_to_remote_mem",
+ "MetricGroup": "UCF_BW_Upstream_WR;UCF_BW_Remote_Source;UCF_BW_Remote_Memory;UCF_BW_Remote_To_Remote_Memory",
+ "MetricExpr": "UCF_SLC_BYTES_WR@src_rem=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average requester-to-SLC write bandwidth for remote-socket requests to remote memory addresses.",
+ "PublicDescription": "Average requester-to-SLC write bandwidth of requests from a remote socket for remote memory addresses.",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ },
+ {
+ "MetricName": "ucf_avg_mem_wr_bandwidth_remote_to_remote_mem",
+ "MetricGroup": "UCF_BW_Downstream_WR;UCF_BW_Remote_Source;UCF_BW_Remote_Memory;UCF_BW_Remote_To_Remote_Memory",
+ "MetricExpr": "UCF_MEM_BYTES_WR@src_rem=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average SLC-to-memory write bandwidth for remote memory, for traffic initiated by a remote socket.",
+ "PublicDescription": "Average SLC-to-memory write bandwidth for remote memory, for traffic initiated by a remote socket. Includes write-backs, attributed as described for UCF_SLC_WB. Data-bearing snoop responses to evictions by a home SLC in another socket or a connected GPU's GL2 are not counted (see UCF_SLC_WB).",
+ "Compat": "2cf2036b",
+ "Unit": "nvidia_ucf_pmu_"
+ }
+]
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread* [PATCH 3/6] perf jevents: Add support for NVIDIA Tegra410 PCIE PMU aliasing
2026-10-19 16:42 [PATCH 0/6] perf jevents: Add NVIDIA Tegra410 uncore PMU events and metrics Besar Wicaksono
2026-10-19 16:42 ` [PATCH 1/6] perf jevents: Process model files before sys subdirectories Besar Wicaksono
2026-10-19 16:42 ` [PATCH 2/6] perf jevents: Add support for NVIDIA Tegra410 UCF PMU aliasing Besar Wicaksono
@ 2026-10-19 16:42 ` Besar Wicaksono
2026-10-19 17:50 ` Chun-Tse Shao
2026-10-19 16:42 ` [PATCH 4/6] perf jevents: Add support for NVIDIA Tegra410 PCIE-TGT " Besar Wicaksono
` (3 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Besar Wicaksono @ 2026-10-19 16:42 UTC (permalink / raw)
To: acme, namhyung, irogers
Cc: linux-tegra, linux-arm-kernel, linux-perf-users, linux-kernel,
vsethi, rwiley, skelley, mochs, rajjoshi, treding, jonathanh,
john.garry, will, james.clark, mike.leach, leo.yan, mark.rutland,
alexander.shishkin, jolsa, adrian.hunter, ctshao,
Besar Wicaksono
Add alias support for NVIDIA Tegra410 PCIE PMU events and metrics.
Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com>
---
.../arm64/nvidia/t410/sys/uncore-pcie.json | 247 ++++++++++++++++++
1 file changed, 247 insertions(+)
create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-pcie.json
diff --git a/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-pcie.json b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-pcie.json
new file mode 100644
index 000000000000..37c3eac305e5
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-pcie.json
@@ -0,0 +1,247 @@
+[
+ {
+ "EventCode": "0x100000000",
+ "EventName": "PCIE_CYCLES",
+ "BriefDescription": "Counts cycles at the PCIe interface to the Tegra SoC data fabric.",
+ "PublicDescription": "Counts cycles at the PCIe interface to the Tegra SoC data fabric.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "EventCode": "0x2",
+ "EventName": "PCIE_RD_REQ",
+ "BriefDescription": "Counts read requests from PCIe devices under this PCIe root complex to memory or another PCIe device.",
+ "PublicDescription": "Counts read requests from PCIe devices under this PCIe root complex to memory or another PCIe device, where the target responds with data. Request size can be from 1 to 256 bytes. Filters: src_rp_mask selects the requesting root ports. Alternatively, src_bdf with src_bdf_en selects one requesting device (BDF); it cannot be combined with src_rp_mask and applies to all counters of this PMU. Destination filters select the memory type of the request address: dst_loc_cmem local CMEM, dst_loc_gmem local GMEM, dst_loc_pcie_p2p local PCIe peer addresses, dst_loc_pcie_cxl local CXL memory, dst_rem remote memory. This is the address's home type, not where the data currently resides; local or remote is determined by the home socket of the address. An unset source filter counts all root ports; an unset destination filter counts all destinations.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "EventCode": "0x3",
+ "EventName": "PCIE_WR_REQ",
+ "BriefDescription": "Counts write requests from PCIe devices under this PCIe root complex to memory or another PCIe device.",
+ "PublicDescription": "Counts write requests from PCIe devices under this PCIe root complex to memory or another PCIe device, where the PCIe device sends data. Request size can be from 1 to 256 bytes. Filters: src_rp_mask selects the requesting root ports. Alternatively, src_bdf with src_bdf_en selects one requesting device (BDF); it cannot be combined with src_rp_mask and applies to all counters of this PMU. Destination filters select the memory type of the request address: dst_loc_cmem local CMEM, dst_loc_gmem local GMEM, dst_loc_pcie_p2p local PCIe peer addresses, dst_loc_pcie_cxl local CXL memory, dst_rem remote memory. This is the address's home type, not where the data currently resides; local or remote is determined by the home socket of the address. An unset source filter counts all root ports; an unset destination filter counts all destinations.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "EventCode": "0x0",
+ "EventName": "PCIE_RD_BYTES",
+ "BriefDescription": "Counts bytes transferred by the read requests counted by PCIE_RD_REQ.",
+ "PublicDescription": "Counts bytes transferred by the read requests counted by PCIE_RD_REQ. Source and destination filters work as described for PCIE_RD_REQ.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "EventCode": "0x1",
+ "EventName": "PCIE_WR_BYTES",
+ "BriefDescription": "Counts bytes transferred by the write requests counted by PCIE_WR_REQ.",
+ "PublicDescription": "Counts bytes transferred by the write requests counted by PCIE_WR_REQ. Source and destination filters work as described for PCIE_WR_REQ.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "EventCode": "0x4",
+ "EventName": "PCIE_RD_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding read requests counted by PCIE_RD_REQ each cycle at the PCIe interface.",
+ "PublicDescription": "Accumulates the outstanding read requests counted by PCIE_RD_REQ each cycle at the PCIe interface. Pair the two under the same filters for the average read latency. Source and destination filters work as described for PCIE_RD_REQ.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_freq",
+ "MetricGroup": "PCIE_Frequency;PCIE_Read_Latency",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_CYCLES / aggr_nr(PCIE_CYCLES)) / 1e9 / duration_time",
+ "ScaleUnit": "1GHz",
+ "BriefDescription": "Frequency of the cycles at the PCIe interface to the Tegra SoC data fabric.",
+ "PublicDescription": "Average frequency of the cycles at the PCIe interface to the Tegra SoC data fabric over the measurement interval.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_bandwidth_to_all_dst",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_To_All_Destinations",
+ "MetricExpr": "PCIE_RD_BYTES@dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_pcie_p2p=1,dst_loc_pcie_cxl=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average read bandwidth from PCIe devices under this PCIe root complex to all destinations.",
+ "PublicDescription": "Average read bandwidth of requests from all PCIe devices under this PCIe root complex to all destinations: local CMEM, local GMEM, local PCIe peer addresses, local CXL memory and remote memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_wr_bandwidth_to_all_dst",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_To_All_Destinations",
+ "MetricExpr": "PCIE_WR_BYTES@dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_pcie_p2p=1,dst_loc_pcie_cxl=1,dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average write bandwidth from PCIe devices under this PCIe root complex to all destinations.",
+ "PublicDescription": "Average write bandwidth of requests from all PCIe devices under this PCIe root complex to all destinations: local CMEM, local GMEM, local PCIe peer addresses, local CXL memory and remote memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_latency_to_all_dst",
+ "MetricGroup": "PCIE_Read_Latency;PCIE_To_All_Destinations",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_RD_CUM_OUTS@dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_pcie_p2p=1,dst_loc_pcie_cxl=1,dst_rem=1@ / PCIE_RD_REQ@dst_loc_cmem=1,dst_loc_gmem=1,dst_loc_pcie_p2p=1,dst_loc_pcie_cxl=1,dst_rem=1@) / pcie_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average read latency from PCIe devices under this PCIe root complex to all destinations.",
+ "PublicDescription": "Average latency of read requests from all PCIe devices under this PCIe root complex to all destinations: local CMEM, local GMEM, local PCIe peer addresses, local CXL memory and remote memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_bandwidth_to_local_cmem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Read;PCIE_To_Local_CMEM",
+ "MetricExpr": "PCIE_RD_BYTES@dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average read bandwidth from PCIe devices under this PCIe root complex to local CMEM.",
+ "PublicDescription": "Average read bandwidth of requests from all PCIe devices under this PCIe root complex to local CMEM.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_wr_bandwidth_to_local_cmem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Write;PCIE_To_Local_CMEM",
+ "MetricExpr": "PCIE_WR_BYTES@dst_loc_cmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average write bandwidth from PCIe devices under this PCIe root complex to local CMEM.",
+ "PublicDescription": "Average write bandwidth of requests from all PCIe devices under this PCIe root complex to local CMEM.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_latency_to_local_cmem",
+ "MetricGroup": "PCIE_Read_Latency;PCIE_Read;PCIE_To_Local_CMEM",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_RD_CUM_OUTS@dst_loc_cmem=1@ / PCIE_RD_REQ@dst_loc_cmem=1@) / pcie_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average read latency from PCIe devices under this PCIe root complex to local CMEM.",
+ "PublicDescription": "Average latency of read requests from all PCIe devices under this PCIe root complex to local CMEM.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_bandwidth_to_local_gmem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Read;PCIE_To_Local_GMEM",
+ "MetricExpr": "PCIE_RD_BYTES@dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average read bandwidth from PCIe devices under this PCIe root complex to local GMEM.",
+ "PublicDescription": "Average read bandwidth of requests from all PCIe devices under this PCIe root complex to local GMEM.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_wr_bandwidth_to_local_gmem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Write;PCIE_To_Local_GMEM",
+ "MetricExpr": "PCIE_WR_BYTES@dst_loc_gmem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average write bandwidth from PCIe devices under this PCIe root complex to local GMEM.",
+ "PublicDescription": "Average write bandwidth of requests from all PCIe devices under this PCIe root complex to local GMEM.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_latency_to_local_gmem",
+ "MetricGroup": "PCIE_Read_Latency;PCIE_Read;PCIE_To_Local_GMEM",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_RD_CUM_OUTS@dst_loc_gmem=1@ / PCIE_RD_REQ@dst_loc_gmem=1@) / pcie_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average read latency from PCIe devices under this PCIe root complex to local GMEM.",
+ "PublicDescription": "Average latency of read requests from all PCIe devices under this PCIe root complex to local GMEM.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_bandwidth_to_local_cxlmem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Read;PCIE_To_Local_CXLMEM",
+ "MetricExpr": "PCIE_RD_BYTES@dst_loc_pcie_cxl=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average read bandwidth from PCIe devices under this PCIe root complex to local CXL memory.",
+ "PublicDescription": "Average read bandwidth of requests from all PCIe devices under this PCIe root complex to local CXL memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_wr_bandwidth_to_local_cxlmem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Write;PCIE_To_Local_CXLMEM",
+ "MetricExpr": "PCIE_WR_BYTES@dst_loc_pcie_cxl=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average write bandwidth from PCIe devices under this PCIe root complex to local CXL memory.",
+ "PublicDescription": "Average write bandwidth of requests from all PCIe devices under this PCIe root complex to local CXL memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_latency_to_local_cxlmem",
+ "MetricGroup": "PCIE_Read_Latency;PCIE_Read;PCIE_To_Local_CXLMEM",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_RD_CUM_OUTS@dst_loc_pcie_cxl=1@ / PCIE_RD_REQ@dst_loc_pcie_cxl=1@) / pcie_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average read latency from PCIe devices under this PCIe root complex to local CXL memory.",
+ "PublicDescription": "Average latency of read requests from all PCIe devices under this PCIe root complex to local CXL memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_bandwidth_to_remote_mem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Read;PCIE_To_Remote_Memory",
+ "MetricExpr": "PCIE_RD_BYTES@dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average read bandwidth from PCIe devices under this PCIe root complex to remote memory.",
+ "PublicDescription": "Average read bandwidth of requests from all PCIe devices under this PCIe root complex to remote memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_wr_bandwidth_to_remote_mem",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Write;PCIE_To_Remote_Memory",
+ "MetricExpr": "PCIE_WR_BYTES@dst_rem=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average write bandwidth from PCIe devices under this PCIe root complex to remote memory.",
+ "PublicDescription": "Average write bandwidth of requests from all PCIe devices under this PCIe root complex to remote memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_latency_to_remote_mem",
+ "MetricGroup": "PCIE_Read_Latency;PCIE_Read;PCIE_To_Remote_Memory",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_RD_CUM_OUTS@dst_rem=1@ / PCIE_RD_REQ@dst_rem=1@) / pcie_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average read latency from PCIe devices under this PCIe root complex to remote memory.",
+ "PublicDescription": "Average latency of read requests from all PCIe devices under this PCIe root complex to remote memory.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_bandwidth_to_local_pcie_peer",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Read;PCIE_To_Local_PCIE_Peer",
+ "MetricExpr": "PCIE_RD_BYTES@dst_loc_pcie_p2p=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average read bandwidth from PCIe devices under this PCIe root complex to local PCIe peer addresses.",
+ "PublicDescription": "Average read bandwidth of requests from all PCIe devices under this PCIe root complex to local PCIe peer addresses.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_wr_bandwidth_to_local_pcie_peer",
+ "MetricGroup": "PCIE_Bandwidth;PCIE_Write;PCIE_To_Local_PCIE_Peer",
+ "MetricExpr": "PCIE_WR_BYTES@dst_loc_pcie_p2p=1@ / 1e6 / duration_time",
+ "ScaleUnit": "1MB/s",
+ "BriefDescription": "Average write bandwidth from PCIe devices under this PCIe root complex to local PCIe peer addresses.",
+ "PublicDescription": "Average write bandwidth of requests from all PCIe devices under this PCIe root complex to local PCIe peer addresses.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ },
+ {
+ "MetricName": "pcie_avg_rd_latency_to_local_pcie_peer",
+ "MetricGroup": "PCIE_Read_Latency;PCIE_Read;PCIE_To_Local_PCIE_Peer",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(PCIE_RD_CUM_OUTS@dst_loc_pcie_p2p=1@ / PCIE_RD_REQ@dst_loc_pcie_p2p=1@) / pcie_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average read latency from PCIe devices under this PCIe root complex to local PCIe peer addresses.",
+ "PublicDescription": "Average latency of read requests from all PCIe devices under this PCIe root complex to local PCIe peer addresses.",
+ "Compat": "1030136b",
+ "Unit": "nvidia_pcie_pmu_,rc_"
+ }
+]
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread* [PATCH 6/6] perf jevents: Add support for NVIDIA Tegra410 C2C PMU aliasing
2026-10-19 16:42 [PATCH 0/6] perf jevents: Add NVIDIA Tegra410 uncore PMU events and metrics Besar Wicaksono
` (4 preceding siblings ...)
2026-10-19 16:42 ` [PATCH 5/6] perf jevents: Add support for NVIDIA Tegra410 CPU Memory Latency " Besar Wicaksono
@ 2026-10-19 16:42 ` Besar Wicaksono
2026-10-19 17:23 ` [PATCH 0/6] perf jevents: Add NVIDIA Tegra410 uncore PMU events and metrics James Clark
6 siblings, 0 replies; 16+ messages in thread
From: Besar Wicaksono @ 2026-10-19 16:42 UTC (permalink / raw)
To: acme, namhyung, irogers
Cc: linux-tegra, linux-arm-kernel, linux-perf-users, linux-kernel,
vsethi, rwiley, skelley, mochs, rajjoshi, treding, jonathanh,
john.garry, will, james.clark, mike.leach, leo.yan, mark.rutland,
alexander.shishkin, jolsa, adrian.hunter, ctshao,
Besar Wicaksono
Add alias support for NVIDIA Tegra410 C2C PMU events.
Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com>
---
.../arm64/nvidia/t410/sys/uncore-nvclink.json | 75 ++++++++++
.../arm64/nvidia/t410/sys/uncore-nvdlink.json | 48 +++++++
.../nvidia/t410/sys/uncore-nvlink_c2c.json | 129 ++++++++++++++++++
3 files changed, 252 insertions(+)
create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvclink.json
create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvdlink.json
create mode 100644 tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvlink_c2c.json
diff --git a/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvclink.json b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvclink.json
new file mode 100644
index 000000000000..fe94ae121a8d
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvclink.json
@@ -0,0 +1,75 @@
+[
+ {
+ "EventCode": "0x0",
+ "EventName": "NVCLINK_CYCLES",
+ "BriefDescription": "Counts NV-CLink interface clock cycles.",
+ "PublicDescription": "Counts NV-CLink interface clock cycles. All NV-CLink instances share this clock, so the count is read from the first instance.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "EventCode": "0x1",
+ "EventName": "NVCLINK_IN_RD_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding incoming read requests counted by NVCLINK_IN_RD_REQ each NV-CLink interface cycle.",
+ "PublicDescription": "Accumulates the outstanding incoming read requests counted by NVCLINK_IN_RD_REQ each NV-CLink interface cycle. Pair the two for the average read latency.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "EventCode": "0x2",
+ "EventName": "NVCLINK_IN_RD_REQ",
+ "BriefDescription": "Counts incoming read requests from the remote Tegra SoC at the NV-CLink interface.",
+ "PublicDescription": "Counts incoming read requests from the remote Tegra SoC at the NV-CLink interface, where local memory or a local device responds with data. Request size can be from 1 to 256 bytes. The count is summed over all NV-CLink instances.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "EventCode": "0x5",
+ "EventName": "NVCLINK_OUT_RD_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding outgoing read requests counted by NVCLINK_OUT_RD_REQ each NV-CLink interface cycle.",
+ "PublicDescription": "Accumulates the outstanding outgoing read requests counted by NVCLINK_OUT_RD_REQ each NV-CLink interface cycle. Pair the two for the average read latency.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "EventCode": "0x6",
+ "EventName": "NVCLINK_OUT_RD_REQ",
+ "BriefDescription": "Counts outgoing read requests from the local Tegra SoC to the remote Tegra SoC at the NV-CLink interface.",
+ "PublicDescription": "Counts outgoing read requests from the local Tegra SoC to the remote Tegra SoC at the NV-CLink interface, where memory on the remote Tegra SoC responds with data. Request size can be from 1 to 256 bytes. The count is summed over all NV-CLink instances.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "MetricName": "nvclink_freq",
+ "MetricGroup": "NVCLINK_Frequency;NVCLINK_Latency;NVCLINK_Read_Latency",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVCLINK_CYCLES / aggr_nr(NVCLINK_CYCLES)) / 1e9 / duration_time",
+ "ScaleUnit": "1GHz",
+ "BriefDescription": "NV-CLink interface clock frequency.",
+ "PublicDescription": "Average NV-CLink interface clock frequency over the measurement interval.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "MetricName": "nvclink_in_avg_rd_latency",
+ "MetricGroup": "NVCLINK_Latency;NVCLINK_Read_Latency;NVCLINK_Incoming",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVCLINK_IN_RD_CUM_OUTS / NVCLINK_IN_RD_REQ) / nvclink_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of incoming read requests from the remote Tegra SoC at the NV-CLink interface.",
+ "PublicDescription": "Average latency of the incoming read requests counted by NVCLINK_IN_RD_REQ, measured at the NV-CLink interface.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ },
+ {
+ "MetricName": "nvclink_out_avg_rd_latency",
+ "MetricGroup": "NVCLINK_Latency;NVCLINK_Read_Latency;NVCLINK_Outgoing",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVCLINK_OUT_RD_CUM_OUTS / NVCLINK_OUT_RD_REQ) / nvclink_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of outgoing read requests sent by the local Tegra SoC to the remote Tegra SoC at the NV-CLink interface.",
+ "PublicDescription": "Average latency of the outgoing read requests counted by NVCLINK_OUT_RD_REQ, measured at the NV-CLink interface.",
+ "Compat": "NVDA2022",
+ "Unit": "nvidia_nvclink_pmu_"
+ }
+]
diff --git a/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvdlink.json b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvdlink.json
new file mode 100644
index 000000000000..c8f5d97a0ffb
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvdlink.json
@@ -0,0 +1,48 @@
+[
+ {
+ "EventCode": "0x0",
+ "EventName": "NVDLINK_CYCLES",
+ "BriefDescription": "Counts NV-DLink interface clock cycles.",
+ "PublicDescription": "Counts NV-DLink interface clock cycles. All NV-DLink instances share this clock, so the count is read from the first instance.",
+ "Compat": "NVDA2020",
+ "Unit": "nvidia_nvdlink_pmu_"
+ },
+ {
+ "EventCode": "0x1",
+ "EventName": "NVDLINK_IN_RD_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding read requests counted by NVDLINK_IN_RD_REQ each NV-DLink interface cycle.",
+ "PublicDescription": "Accumulates the outstanding read requests counted by NVDLINK_IN_RD_REQ each NV-DLink interface cycle. Pair the two for the average read latency.",
+ "Compat": "NVDA2020",
+ "Unit": "nvidia_nvdlink_pmu_"
+ },
+ {
+ "EventCode": "0x2",
+ "EventName": "NVDLINK_IN_RD_REQ",
+ "BriefDescription": "Counts read requests to local CXL memory at the NV-DLink interface.",
+ "PublicDescription": "Counts read requests to local CXL memory at the NV-DLink interface, from all requesters, local and remote. Request size can be from 1 to 256 bytes. The count is summed over all NV-DLink instances.",
+ "Compat": "NVDA2020",
+ "Unit": "nvidia_nvdlink_pmu_"
+ },
+ {
+ "MetricName": "nvdlink_freq",
+ "MetricGroup": "NVDLINK_Frequency;NVDLINK_Latency;NVDLINK_Read_Latency",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVDLINK_CYCLES / aggr_nr(NVDLINK_CYCLES)) / 1e9 / duration_time",
+ "ScaleUnit": "1GHz",
+ "BriefDescription": "NV-DLink interface clock frequency.",
+ "PublicDescription": "Average NV-DLink interface clock frequency over the measurement interval.",
+ "Compat": "NVDA2020",
+ "Unit": "nvidia_nvdlink_pmu_"
+ },
+ {
+ "MetricName": "nvdlink_in_avg_rd_latency",
+ "MetricGroup": "NVDLINK_Latency;NVDLINK_Read_Latency",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVDLINK_IN_RD_CUM_OUTS / NVDLINK_IN_RD_REQ) / nvdlink_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of read requests to local CXL memory at the NV-DLink interface.",
+ "PublicDescription": "Average latency of the read requests counted by NVDLINK_IN_RD_REQ, measured at the NV-DLink interface.",
+ "Compat": "NVDA2020",
+ "Unit": "nvidia_nvdlink_pmu_"
+ }
+]
diff --git a/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvlink_c2c.json b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvlink_c2c.json
new file mode 100644
index 000000000000..dafcf7e600b0
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/nvidia/t410/sys/uncore-nvlink_c2c.json
@@ -0,0 +1,129 @@
+[
+ {
+ "EventCode": "0x0",
+ "EventName": "NVLINK_C2C_CYCLES",
+ "BriefDescription": "Counts NVLink-C2C interface clock cycles.",
+ "PublicDescription": "Counts NVLink-C2C interface clock cycles. All NVLink-C2C instances share this clock, so the count is read from the first instance.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x1",
+ "EventName": "NVLINK_C2C_IN_RD_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding incoming read requests counted by NVLINK_C2C_IN_RD_REQ each NVLink-C2C interface cycle.",
+ "PublicDescription": "Accumulates the outstanding incoming read requests counted by NVLINK_C2C_IN_RD_REQ each NVLink-C2C interface cycle. Pair the two for the average read latency. The gpu_mask filter works as described for NVLINK_C2C_IN_RD_REQ.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x2",
+ "EventName": "NVLINK_C2C_IN_RD_REQ",
+ "BriefDescription": "Counts incoming read requests from connected GPUs or a remote Tegra SoC at the NVLink-C2C interface.",
+ "PublicDescription": "Counts incoming read requests sent by connected GPUs or a remote Tegra SoC to the local Tegra SoC at the NVLink-C2C interface, where the local Tegra SoC responds with data. Request size can be from 1 to 256 bytes. The count is summed over all NVLink-C2C instances. Filters: the gpu_mask filter selects GPUs by index, one bit per GPU. This filter is available only when GPUs are connected. An unset gpu_mask counts all GPUs.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x3",
+ "EventName": "NVLINK_C2C_IN_WR_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding incoming write requests counted by NVLINK_C2C_IN_WR_REQ each NVLink-C2C interface cycle.",
+ "PublicDescription": "Accumulates the outstanding incoming write requests counted by NVLINK_C2C_IN_WR_REQ each NVLink-C2C interface cycle. Available only when GPUs are connected. Pair the two for the average write latency. The gpu_mask filter works as described for NVLINK_C2C_IN_WR_REQ.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x4",
+ "EventName": "NVLINK_C2C_IN_WR_REQ",
+ "BriefDescription": "Counts incoming write requests from connected GPUs to the local Tegra SoC at the NVLink-C2C interface.",
+ "PublicDescription": "Counts incoming write requests sent by connected GPUs to the local Tegra SoC at the NVLink-C2C interface, where the GPU sends the data. Request size can be from 1 to 256 bytes. Available only when GPUs are connected. The count is summed over all NVLink-C2C instances. Filters: the gpu_mask filter selects GPUs by index, one bit per GPU. An unset gpu_mask counts all GPUs.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x5",
+ "EventName": "NVLINK_C2C_OUT_RD_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding outgoing read requests counted by NVLINK_C2C_OUT_RD_REQ each NVLink-C2C interface cycle.",
+ "PublicDescription": "Accumulates the outstanding outgoing read requests counted by NVLINK_C2C_OUT_RD_REQ each NVLink-C2C interface cycle. Pair the two for the average read latency. The gpu_mask filter works as described for NVLINK_C2C_OUT_RD_REQ.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x6",
+ "EventName": "NVLINK_C2C_OUT_RD_REQ",
+ "BriefDescription": "Counts outgoing read requests to connected GPUs or a remote Tegra SoC at the NVLink-C2C interface.",
+ "PublicDescription": "Counts outgoing read requests from all requesters to connected GPUs or a remote Tegra SoC at the NVLink-C2C interface, where the GPU or remote Tegra SoC responds with data. Request size can be from 1 to 256 bytes. The count is summed over all NVLink-C2C instances. Filters: the gpu_mask filter selects GPUs by index, one bit per GPU. This filter is available only when GPUs are connected. An unset gpu_mask counts all GPUs.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x7",
+ "EventName": "NVLINK_C2C_OUT_WR_CUM_OUTS",
+ "BriefDescription": "Accumulates the outstanding outgoing write requests counted by NVLINK_C2C_OUT_WR_REQ each NVLink-C2C interface cycle.",
+ "PublicDescription": "Accumulates the outstanding outgoing write requests counted by NVLINK_C2C_OUT_WR_REQ each NVLink-C2C interface cycle. Available only when GPUs are connected. Pair the two for the average write latency. The gpu_mask filter works as described for NVLINK_C2C_OUT_WR_REQ.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "EventCode": "0x8",
+ "EventName": "NVLINK_C2C_OUT_WR_REQ",
+ "BriefDescription": "Counts outgoing write requests to connected GPUs at the NVLink-C2C interface.",
+ "PublicDescription": "Counts outgoing write requests from all requesters to connected GPUs at the NVLink-C2C interface, where the requester sends the data. Request size can be from 1 to 256 bytes. Available only when GPUs are connected. The count is summed over all NVLink-C2C instances. Filters: the gpu_mask filter selects GPUs by index, one bit per GPU. An unset gpu_mask counts all GPUs.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "MetricName": "nvlink_c2c_freq",
+ "MetricGroup": "NVLINK_C2C_Frequency;NVLINK_C2C_Latency;NVLINK_C2C_Read_Latency;NVLINK_C2C_Write_Latency",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVLINK_C2C_CYCLES / aggr_nr(NVLINK_C2C_CYCLES)) / 1e9 / duration_time",
+ "ScaleUnit": "1GHz",
+ "BriefDescription": "NVLink-C2C interface clock frequency.",
+ "PublicDescription": "Average NVLink-C2C interface clock frequency over the measurement interval.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "MetricName": "nvlink_c2c_in_avg_rd_latency",
+ "MetricGroup": "NVLINK_C2C_Latency;NVLINK_C2C_Read_Latency;NVLINK_C2C_Incoming",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVLINK_C2C_IN_RD_CUM_OUTS / NVLINK_C2C_IN_RD_REQ) / nvlink_c2c_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of incoming read requests at the NVLink-C2C interface.",
+ "PublicDescription": "Average latency of the incoming read requests counted by NVLINK_C2C_IN_RD_REQ, measured at the NVLink-C2C interface.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "MetricName": "nvlink_c2c_in_avg_wr_latency",
+ "MetricGroup": "NVLINK_C2C_Latency;NVLINK_C2C_Write_Latency;NVLINK_C2C_Incoming",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVLINK_C2C_IN_WR_CUM_OUTS / NVLINK_C2C_IN_WR_REQ) / nvlink_c2c_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of incoming write requests from connected GPUs at the NVLink-C2C interface.",
+ "PublicDescription": "Average latency of the incoming write requests counted by NVLINK_C2C_IN_WR_REQ, measured at the NVLink-C2C interface. Available only when GPUs are connected.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "MetricName": "nvlink_c2c_out_avg_rd_latency",
+ "MetricGroup": "NVLINK_C2C_Latency;NVLINK_C2C_Read_Latency;NVLINK_C2C_Outgoing",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVLINK_C2C_OUT_RD_CUM_OUTS / NVLINK_C2C_OUT_RD_REQ) / nvlink_c2c_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of outgoing read requests at the NVLink-C2C interface.",
+ "PublicDescription": "Average latency of the outgoing read requests counted by NVLINK_C2C_OUT_RD_REQ, measured at the NVLink-C2C interface.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ },
+ {
+ "MetricName": "nvlink_c2c_out_avg_wr_latency",
+ "MetricGroup": "NVLINK_C2C_Latency;NVLINK_C2C_Write_Latency;NVLINK_C2C_Outgoing",
+ "MetricConstraint": "NO_GROUP_EVENTS",
+ "MetricExpr": "(NVLINK_C2C_OUT_WR_CUM_OUTS / NVLINK_C2C_OUT_WR_REQ) / nvlink_c2c_freq",
+ "ScaleUnit": "1ns/request",
+ "BriefDescription": "Average latency of outgoing write requests to connected GPUs at the NVLink-C2C interface.",
+ "PublicDescription": "Average latency of the outgoing write requests counted by NVLINK_C2C_OUT_WR_REQ, measured at the NVLink-C2C interface. Available only when GPUs are connected.",
+ "Compat": "NVDA2023",
+ "Unit": "nvidia_nvlink_c2c_pmu_"
+ }
+]
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread