Skip to content

Commit

Permalink
perf vendor events amd: Add Zen 5 data fabric metrics
Browse files Browse the repository at this point in the history
Add data fabric metrics taken from Section 2.1.16.2 "Performance
Measurement" in the Processor Programming Reference (PPR) for AMD Family
1Ah Model 02h Revision C1 Processors document available at the link
below.

The recommended metrics are sourced from Table 28 "Guidance for Common
Performance Statistics with Complex Event Selects". They capture data
bandwidth for various links and interfaces in the data fabric.

Link: https://bugzilla.kernel.org/attachment.cgi?id=307010
Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Cc: ananth.narayan@amd.com
Cc: ravi.bangoria@amd.com
Cc: eranian@google.com
Link: https://lore.kernel.org/r/e8757bb9f511907a52bc182de9395c5edec2fccf.1729242778.git.sandipan.das@amd.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
  • Loading branch information
Sandipan Das authored and Namhyung Kim committed Oct 19, 2024
1 parent f101a8e commit 17aedce
Showing 1 changed file with 112 additions and 0 deletions.
112 changes: 112 additions & 0 deletions tools/perf/pmu-events/arch/x86/amdzen5/recommended.json
Original file line number Diff line number Diff line change
Expand Up @@ -341,5 +341,117 @@
"MetricGroup": "memory_controller",
"PerPkg": "1",
"ScaleUnit": "1per_memclk"
},
{
"MetricName": "dram_read_bandwidth_for_local_or_remote_socket",
"BriefDescription": "DRAM read data bandwidth for accesses in local or remote socket.",
"MetricExpr": "(local_or_remote_socket_read_data_beats_dram_0 + local_or_remote_socket_read_data_beats_dram_1 + local_or_remote_socket_read_data_beats_dram_2 + local_or_remote_socket_read_data_beats_dram_3 + local_or_remote_socket_read_data_beats_dram_4 + local_or_remote_socket_read_data_beats_dram_5 + local_or_remote_socket_read_data_beats_dram_6 + local_or_remote_socket_read_data_beats_dram_7 + local_or_remote_socket_read_data_beats_dram_8 + local_or_remote_socket_read_data_beats_dram_9 + local_or_remote_socket_read_data_beats_dram_10 + local_or_remote_socket_read_data_beats_dram_11) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "dram_write_bandwidth_for_local_socket",
"BriefDescription": "DRAM write data bandwidth for accesses in local socket.",
"MetricExpr": "(local_socket_write_data_beats_dram_0 + local_socket_write_data_beats_dram_1 + local_socket_write_data_beats_dram_2 + local_socket_write_data_beats_dram_3 + local_socket_write_data_beats_dram_4 + local_socket_write_data_beats_dram_5 + local_socket_write_data_beats_dram_6 + local_socket_write_data_beats_dram_7 + local_socket_write_data_beats_dram_8 + local_socket_write_data_beats_dram_9 + local_socket_write_data_beats_dram_10 + local_socket_write_data_beats_dram_11) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "dram_write_bandwidth_for_remote_socket",
"BriefDescription": "DRAM write data bandwidth for accesses in remote socket.",
"MetricExpr": "(remote_socket_write_data_beats_dram_0 + remote_socket_write_data_beats_dram_1 + remote_socket_write_data_beats_dram_2 + remote_socket_write_data_beats_dram_3 + remote_socket_write_data_beats_dram_4 + remote_socket_write_data_beats_dram_5 + remote_socket_write_data_beats_dram_6 + remote_socket_write_data_beats_dram_7 + remote_socket_write_data_beats_dram_8 + remote_socket_write_data_beats_dram_9 + remote_socket_write_data_beats_dram_10 + remote_socket_write_data_beats_dram_11) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "dram_write_bandwidth_for_local_or_remote_socket",
"BriefDescription": "DRAM write data bandwidth for accesses in local or remote socket.",
"MetricExpr": "(local_or_remote_socket_write_data_beats_dram_0 + local_or_remote_socket_write_data_beats_dram_1 + local_or_remote_socket_write_data_beats_dram_2 + local_or_remote_socket_write_data_beats_dram_3 + local_or_remote_socket_write_data_beats_dram_4 + local_or_remote_socket_write_data_beats_dram_5 + local_or_remote_socket_write_data_beats_dram_6 + local_or_remote_socket_write_data_beats_dram_7 + local_or_remote_socket_write_data_beats_dram_8 + local_or_remote_socket_write_data_beats_dram_9 + local_or_remote_socket_write_data_beats_dram_10 + local_or_remote_socket_write_data_beats_dram_11) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "upstream_dma_read_bandwidth_for_local_socket",
"BriefDescription": "Upstream DMA read data bandwidth for accesses in local socket.",
"MetricExpr": "(local_socket_upstream_read_data_beats_io_0 + local_socket_upstream_read_data_beats_io_1 + local_socket_upstream_read_data_beats_io_2 + local_socket_upstream_read_data_beats_io_3 + local_socket_upstream_read_data_beats_io_4 + local_socket_upstream_read_data_beats_io_5 + local_socket_upstream_read_data_beats_io_6 + local_socket_upstream_read_data_beats_io_7) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "upstream_dma_write_bandwidth_for_local_socket",
"BriefDescription": "Upstream DMA write data bandwidth for accesses in local socket.",
"MetricExpr": "(local_socket_upstream_write_data_beats_io_0 + local_socket_upstream_write_data_beats_io_1 + local_socket_upstream_write_data_beats_io_2 + local_socket_upstream_write_data_beats_io_3 + local_socket_upstream_write_data_beats_io_4 + local_socket_upstream_write_data_beats_io_5 + local_socket_upstream_write_data_beats_io_6 + local_socket_upstream_write_data_beats_io_7) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "upstream_dma_read_bandwidth_for_remote_socket",
"BriefDescription": "Upstream DMA read data bandwidth for accesses in remote socket.",
"MetricExpr": "(remote_socket_upstream_read_data_beats_io_0 + remote_socket_upstream_read_data_beats_io_1 + remote_socket_upstream_read_data_beats_io_2 + remote_socket_upstream_read_data_beats_io_3 + remote_socket_upstream_read_data_beats_io_4 + remote_socket_upstream_read_data_beats_io_5 + remote_socket_upstream_read_data_beats_io_6 + remote_socket_upstream_read_data_beats_io_7) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "upstream_dma_write_bandwidth_for_remote_socket",
"BriefDescription": "Upstream DMA write data bandwidth for accesses in remote socket.",
"MetricExpr": "(remote_socket_upstream_write_data_beats_io_0 + remote_socket_upstream_write_data_beats_io_1 + remote_socket_upstream_write_data_beats_io_2 + remote_socket_upstream_write_data_beats_io_3 + remote_socket_upstream_write_data_beats_io_4 + remote_socket_upstream_write_data_beats_io_5 + remote_socket_upstream_write_data_beats_io_6 + remote_socket_upstream_write_data_beats_io_7) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "core_inbound_data_bandwidth_for_local_socket",
"BriefDescription": "Core inbound data bandwidth for accesses in local socket.",
"MetricExpr": "(local_socket_inbound_data_beats_cfi_0 + local_socket_inbound_data_beats_cfi_1 + local_socket_inbound_data_beats_cfi_2 + local_socket_inbound_data_beats_cfi_3 + local_socket_inbound_data_beats_cfi_4 + local_socket_inbound_data_beats_cfi_5 + local_socket_inbound_data_beats_cfi_6 + local_socket_inbound_data_beats_cfi_7 + local_socket_inbound_data_beats_cfi_8 + local_socket_inbound_data_beats_cfi_9 + local_socket_inbound_data_beats_cfi_10 + local_socket_inbound_data_beats_cfi_11 + local_socket_inbound_data_beats_cfi_12 + local_socket_inbound_data_beats_cfi_13 + local_socket_inbound_data_beats_cfi_14 + local_socket_inbound_data_beats_cfi_15) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "3.2e-5MB/s"
},
{
"MetricName": "core_outbound_data_bandwidth_for_local_socket",
"BriefDescription": "Core outbound data bandwidth for accesses in local socket.",
"MetricExpr": "(local_socket_outbound_data_beats_cfi_0 + local_socket_outbound_data_beats_cfi_1 + local_socket_outbound_data_beats_cfi_2 + local_socket_outbound_data_beats_cfi_3 + local_socket_outbound_data_beats_cfi_4 + local_socket_outbound_data_beats_cfi_5 + local_socket_outbound_data_beats_cfi_6 + local_socket_outbound_data_beats_cfi_7 + local_socket_outbound_data_beats_cfi_8 + local_socket_outbound_data_beats_cfi_9 + local_socket_outbound_data_beats_cfi_10 + local_socket_outbound_data_beats_cfi_11 + local_socket_outbound_data_beats_cfi_12 + local_socket_outbound_data_beats_cfi_13 + local_socket_outbound_data_beats_cfi_14 + local_socket_outbound_data_beats_cfi_15) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "core_inbound_data_bandwidth_for_remote_socket",
"BriefDescription": "Core inbound data bandwidth for accesses in remote socket.",
"MetricExpr": "(remote_socket_inbound_data_beats_cfi_0 + remote_socket_inbound_data_beats_cfi_1 + remote_socket_inbound_data_beats_cfi_2 + remote_socket_inbound_data_beats_cfi_3 + remote_socket_inbound_data_beats_cfi_4 + remote_socket_inbound_data_beats_cfi_5 + remote_socket_inbound_data_beats_cfi_6 + remote_socket_inbound_data_beats_cfi_7 + remote_socket_inbound_data_beats_cfi_8 + remote_socket_inbound_data_beats_cfi_9 + remote_socket_inbound_data_beats_cfi_10 + remote_socket_inbound_data_beats_cfi_11 + remote_socket_inbound_data_beats_cfi_12 + remote_socket_inbound_data_beats_cfi_13 + remote_socket_inbound_data_beats_cfi_14 + remote_socket_inbound_data_beats_cfi_15) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "3.2e-5MB/s"
},
{
"MetricName": "core_outbound_data_bandwidth_for_remote_socket",
"BriefDescription": "Core outbound data bandwidth for accesses in remote socket.",
"MetricExpr": "(remote_socket_outbound_data_beats_cfi_0 + remote_socket_outbound_data_beats_cfi_1 + remote_socket_outbound_data_beats_cfi_2 + remote_socket_outbound_data_beats_cfi_3 + remote_socket_outbound_data_beats_cfi_4 + remote_socket_outbound_data_beats_cfi_5 + remote_socket_outbound_data_beats_cfi_6 + remote_socket_outbound_data_beats_cfi_7 + remote_socket_outbound_data_beats_cfi_8 + remote_socket_outbound_data_beats_cfi_9 + remote_socket_outbound_data_beats_cfi_10 + remote_socket_outbound_data_beats_cfi_11 + remote_socket_outbound_data_beats_cfi_12 + remote_socket_outbound_data_beats_cfi_13 + remote_socket_outbound_data_beats_cfi_14 + remote_socket_outbound_data_beats_cfi_15) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "cross_socket_inbound_data_bandwidth_for_local_socket",
"BriefDescription": "Inbound data bandwidth for accesses between local socket and remote socket.",
"MetricExpr": "(local_socket_inbound_data_beats_link_0 + local_socket_inbound_data_beats_link_1 + local_socket_inbound_data_beats_link_2 + local_socket_inbound_data_beats_link_3 + local_socket_inbound_data_beats_link_4 + local_socket_inbound_data_beats_link_5) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
},
{
"MetricName": "cross_socket_outbound_data_bandwidth_for_local_socket",
"BriefDescription": "Outbound data bandwidth for accesses between local socket and remote socket.",
"MetricExpr": "(local_socket_outbound_data_beats_link_0 + local_socket_outbound_data_beats_link_1 + local_socket_outbound_data_beats_link_2 + local_socket_outbound_data_beats_link_3 + local_socket_outbound_data_beats_link_4 + local_socket_outbound_data_beats_link_5) / duration_time",
"MetricGroup": "data_fabric",
"PerPkg": "1",
"ScaleUnit": "6.4e-5MB/s"
}
]

0 comments on commit 17aedce

Please sign in to comment.