Add metrics giving ratio of uop cache hits to misses.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/pmu-events/amd_metrics.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/tools/perf/pmu-events/amd_metrics.py b/tools/perf/pmu-events/amd_metrics.py
index 0578ca7fdf92..d51f4c3fe0cb 100755
--- a/tools/perf/pmu-events/amd_metrics.py
+++ b/tools/perf/pmu-events/amd_metrics.py
@@ -571,6 +571,23 @@ def AmdSwpf() -> Optional[MetricGroup]:
description="Software prefetch breakdown (CCX L3 = L3 of current thread, Loc CCX = CCX cache on some socket)")
+def AmdUopCache() -> Optional[MetricGroup]:
+ try:
+ op_cache_hit = Event("op_cache_hit_miss.op_cache_hit")
+ op_cache_miss = Event("op_cache_hit_miss.op_cache_miss")
+ except:
+ return None
+ op_cache_total = op_cache_hit + op_cache_miss
+ return MetricGroup("lpm_uop_cache", [
+ Metric("lpm_uop_cache_hit_ratio", "Uop cache full or partial hits rate",
+ d_ratio(op_cache_hit, op_cache_total),
+ "100%"),
+ Metric("lpm_uop_cache_miss_ratio", "Uop cache misses rate",
+ d_ratio(op_cache_miss, op_cache_total),
+ "100%"),
+ ], description="Micro-op (uop) hit and miss rates.")
+
+
def AmdUpc() -> Metric:
ops = Event("ex_ret_ops", "ex_ret_cops")
upc = d_ratio(ops, smt_cycles)
@@ -657,6 +674,7 @@ def main() -> None:
AmdLdSt(),
AmdHwpf(),
AmdSwpf(),
+ AmdUopCache(),
AmdUpc(),
Idle(),
Rapl(),
--
2.51.0.318.gd7df087d1a-goog