[PATCH 5.15 131/276] perf arm-spe: augment the data source type with neoverse_spe list
Greg Kroah-Hartman
gregkh at linuxfoundation.org
Fri Oct 17 07:53:44 PDT 2025
5.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jing Zhang <renyu.zj at linux.alibaba.com>
[ Upstream commit 74a61d53a6d1ca1172d85964d15c83c2cc3670b3 ]
When synthesizing event with SPE data source, commit 4e6430cbb1a9("perf
arm-spe: Use SPE data source for neoverse cores") augment the type with
source information by MIDR. However, is_midr_in_range only compares the
first entry in neoverse_spe.
Change is_midr_in_range to is_midr_in_range_list to traverse the
neoverse_spe array so that all neoverse cores synthesize event with data
source packet.
Fixes: 4e6430cbb1a9f1dc ("perf arm-spe: Use SPE data source for neoverse cores")
Reviewed-by: Ali Saidi <alisaidi at amazon.com>
Reviewed-by: Leo Yan <leo.yan at linaro.org>
Signed-off-by: Jing Zhang <renyu.zj at linux.alibaba.com>
Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
Cc: Ali Saidi <alisaidi at amazon.com>
Cc: German Gomez <german.gomez at arm.com>
Cc: Ingo Molnar <mingo at redhat.com>
Cc: James Clark <james.clark at arm.com>
Cc: Jiri Olsa <jolsa at kernel.org>
Cc: John Garry <john.garry at huawei.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Mike Leach <mike.leach at linaro.org>
Cc: Namhyung Kim <namhyung at kernel.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Shuai Xue <xueshuai at linux.alibaba.com>
Cc: Timothy Hayes <timothy.hayes at arm.com>
Cc: Will Deacon <will at kernel.org>
Cc: Zhuo Song <zhuo.song at linux.alibaba.com>
Link: https://lore.kernel.org/r/1664197396-42672-1-git-send-email-renyu.zj@linux.alibaba.com
Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
Stable-dep-of: cb300e351505 ("perf arm_spe: Correct memory level for remote access")
Signed-off-by: Sasha Levin <sashal at kernel.org>
---
tools/perf/util/arm-spe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/arm-spe.c b/tools/perf/util/arm-spe.c
index 9e7e56596c60e..2d7fc2b01f36b 100644
--- a/tools/perf/util/arm-spe.c
+++ b/tools/perf/util/arm-spe.c
@@ -423,7 +423,7 @@ static void arm_spe__synth_data_source_generic(const struct arm_spe_record *reco
static u64 arm_spe__synth_data_source(const struct arm_spe_record *record, u64 midr)
{
union perf_mem_data_src data_src = { 0 };
- bool is_neoverse = is_midr_in_range(midr, neoverse_spe);
+ bool is_neoverse = is_midr_in_range_list(midr, neoverse_spe);
if (record->op == ARM_SPE_LD)
data_src.mem_op = PERF_MEM_OP_LOAD;
--
2.51.0
More information about the linux-arm-kernel
mailing list