From f3b9bed72e37e5fa14184d8634a9c88117d1fcb1 Mon Sep 17 00:00:00 2001 From: Leo Yan Date: Wed, 12 Nov 2025 18:24:38 +0000 Subject: [PATCH] perf arm_spe: Report extended memory operations in records Extended memory operations include atomic (AT), acquire/release (AR), and exclusive (EXCL) operations. Save the relevant information in the records. Signed-off-by: Leo Yan Reviewed-by: Ian Rogers Reviewed-by: James Clark Signed-off-by: Namhyung Kim --- tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c index 6696448bdf4f3..949c20816826a 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c @@ -211,6 +211,13 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder) decoder->record.op |= ARM_SPE_OP_NV_SYSREG; } else if (SPE_OP_PKT_LDST_SUBCLASS_MTE_TAG(payload)) { decoder->record.op |= ARM_SPE_OP_MTE_TAG; + } else if (SPE_OP_PKT_LDST_SUBCLASS_EXTENDED(payload)) { + if (payload & SPE_OP_PKT_AR) + decoder->record.op |= ARM_SPE_OP_AR; + if (payload & SPE_OP_PKT_EXCL) + decoder->record.op |= ARM_SPE_OP_EXCL; + if (payload & SPE_OP_PKT_AT) + decoder->record.op |= ARM_SPE_OP_ATOMIC; } else if (SPE_OP_PKT_LDST_SUBCLASS_SVE_SME_REG(payload)) { decoder->record.op |= ARM_SPE_OP_SVE; } -- 2.47.3