+++ /dev/null
-From 0d2b5b04a34842190bcb58ecc4f88da859520473 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 12 Nov 2025 08:24:39 -0800
-Subject: perf vendor metrics s390: Avoid has_event(INSTRUCTIONS)
-
-From: Ian Rogers <irogers@google.com>
-
-[ Upstream commit c1932fb85af8e51ac9f6bd9947145b06c716106e ]
-
-The instructions event is now provided in json meaning the has_event
-test always succeeds. Switch to using non-legacy event names in the
-affected metrics.
-
-Reported-by: Thomas Richter <tmricht@linux.ibm.com>
-Closes: https://lore.kernel.org/linux-perf-users/3e80f453-f015-4f4f-93d3-8df6bb6b3c95@linux.ibm.com/
-Fixes: 0012e0fa221b ("perf jevents: Add legacy-hardware and legacy-cache json")
-Signed-off-by: Ian Rogers <irogers@google.com>
-Reviewed-by: Thomas Richter <tmricht@linux.ibm.com>
-Tested-by: Thomas Richter <tmricht@linux.ibm.com>
-Signed-off-by: Namhyung Kim <namhyung@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- tools/perf/pmu-events/arch/s390/cf_z16/transaction.json | 8 ++++----
- tools/perf/pmu-events/arch/s390/cf_z17/transaction.json | 8 ++++----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json b/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json
-index 3ab1d3a6638c4..57b785307a85f 100644
---- a/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json
-+++ b/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json
-@@ -7,17 +7,17 @@
- {
- "BriefDescription": "Cycles per Instruction",
- "MetricName": "cpi",
-- "MetricExpr": "CPU_CYCLES / INSTRUCTIONS if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "CPU_CYCLES / INSTRUCTIONS if has_event(CPU_CYCLES) else 0"
- },
- {
- "BriefDescription": "Problem State Instruction Ratio",
- "MetricName": "prbstate",
-- "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100 if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100 if has_event(PROBLEM_STATE_INSTRUCTIONS) else 0"
- },
- {
- "BriefDescription": "Level One Miss per 100 Instructions",
- "MetricName": "l1mp",
-- "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100 if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100 if has_event(L1I_DIR_WRITES) else 0"
- },
- {
- "BriefDescription": "Percentage sourced from Level 2 cache",
-@@ -52,7 +52,7 @@
- {
- "BriefDescription": "Estimated Instruction Complexity CPI infinite Level 1",
- "MetricName": "est_cpi",
-- "MetricExpr": "(CPU_CYCLES / INSTRUCTIONS) - (L1C_TLB2_MISSES / INSTRUCTIONS) if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "(CPU_CYCLES / INSTRUCTIONS) - (L1C_TLB2_MISSES / INSTRUCTIONS) if has_event(CPU_CYCLES) else 0"
- },
- {
- "BriefDescription": "Estimated Sourcing Cycles per Level 1 Miss",
-diff --git a/tools/perf/pmu-events/arch/s390/cf_z17/transaction.json b/tools/perf/pmu-events/arch/s390/cf_z17/transaction.json
-index 74df533c8b6fa..7ded6a5a76c0f 100644
---- a/tools/perf/pmu-events/arch/s390/cf_z17/transaction.json
-+++ b/tools/perf/pmu-events/arch/s390/cf_z17/transaction.json
-@@ -7,17 +7,17 @@
- {
- "BriefDescription": "Cycles per Instruction",
- "MetricName": "cpi",
-- "MetricExpr": "CPU_CYCLES / INSTRUCTIONS if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "CPU_CYCLES / INSTRUCTIONS if has_event(CPU_CYCLES) else 0"
- },
- {
- "BriefDescription": "Problem State Instruction Ratio",
- "MetricName": "prbstate",
-- "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100 if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100 if has_event(PROBLEM_STATE_INSTRUCTIONS) else 0"
- },
- {
- "BriefDescription": "Level One Miss per 100 Instructions",
- "MetricName": "l1mp",
-- "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100 if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100 if has_event(L1I_DIR_WRITES) else 0"
- },
- {
- "BriefDescription": "Percentage sourced from Level 2 cache",
-@@ -52,7 +52,7 @@
- {
- "BriefDescription": "Estimated Instruction Complexity CPI infinite Level 1",
- "MetricName": "est_cpi",
-- "MetricExpr": "(CPU_CYCLES / INSTRUCTIONS) - (L1C_TLB2_MISSES / INSTRUCTIONS) if has_event(INSTRUCTIONS) else 0"
-+ "MetricExpr": "(CPU_CYCLES / INSTRUCTIONS) - (L1C_TLB2_MISSES / INSTRUCTIONS) if has_event(L1C_TLB2_MISSES) else 0"
- },
- {
- "BriefDescription": "Estimated Sourcing Cycles per Level 1 Miss",
---
-2.51.0
-