On 11/13/2025 8:50 AM, Ian Rogers wrote:
> Metrics use the amd_l3 PMU for access/miss/hit information.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
> tools/perf/pmu-events/amd_metrics.py | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/tools/perf/pmu-events/amd_metrics.py b/tools/perf/pmu-events/amd_metrics.py
> index 1592d7db2ac7..d748b5c1d791 100755
> --- a/tools/perf/pmu-events/amd_metrics.py
> +++ b/tools/perf/pmu-events/amd_metrics.py
> @@ -479,6 +479,24 @@ def Rapl() -> MetricGroup:
> description="Processor socket power consumption estimates")
>
>
> +def UncoreL3():
> + acc = Event("l3_lookup_state.all_coherent_accesses_to_l3",
> + "l3_lookup_state.all_l3_req_typs")
> + miss = Event("l3_lookup_state.l3_miss",
> + "l3_comb_clstr_state.request_miss")
> + acc = max(acc, miss)
> + hits = acc - miss
> +
> + return MetricGroup("lpm_l3", [
> + Metric("lpm_l3_accesses", "L3 victim cache accesses",
> + d_ratio(acc, interval_sec), "accesses/sec"),
> + Metric("lpm_l3_hits", "L3 victim cache hit rate",
> + d_ratio(hits, acc), "100%"),
> + Metric("lpm_l3_miss", "L3 victim cache miss rate", d_ratio(miss, acc),
> + "100%"),
> + ], description="L3 cache breakdown per CCX")
> +
> +
> def main() -> None:
> global _args
> global _zen_model
> @@ -515,6 +533,7 @@ def main() -> None:
> AmdUpc(),
> Idle(),
> Rapl(),
> + UncoreL3(),
> ])
>
> if _args.metricgroups:
Would it be possible to include the L3 read miss latency metric here?
Reviewed-by: Sandipan Das <sandipan.das@amd.com>