[PATCH 11/25] perf arm_spe: Report MTE allocation tag in record
James Clark
james.clark at linaro.org
Thu Oct 9 02:32:08 PDT 2025
On 29/09/2025 5:37 pm, Leo Yan wrote:
> Save MTE tag info in memory record.
>
> Signed-off-by: Leo Yan <leo.yan at arm.com>
> ---
> tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 2 ++
> tools/perf/util/arm-spe-decoder/arm-spe-decoder.h | 3 ++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> 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 804dce129121b9d2600be01af7f1f2780a9d0fc9..6696448bdf4f347e2032a1b4da46fcdd4016f9fc 100644
> --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> @@ -209,6 +209,8 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder)
> decoder->record.op |= ARM_SPE_OP_UNSPEC_REG;
> } else if (SPE_OP_PKT_LDST_SUBCLASS_NV_SYSREG(payload)) {
> 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_SVE_SME_REG(payload)) {
> decoder->record.op |= ARM_SPE_OP_SVE;
> }
> diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> index 08ef83cb8bf00be75459c78b9ee8a6cbf1971986..9b7b6c42505f43c32a188b6e9769390f057adce8 100644
> --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> @@ -42,7 +42,8 @@ enum arm_spe_op_type {
> ARM_SPE_OP_UNSPEC_REG = 1 << 9,
> ARM_SPE_OP_NV_SYSREG = 1 << 10,
> ARM_SPE_OP_SIMD_FP = 1 << 11,
> - ARM_SPE_OP_SVE = 1 << 12,
> + ARM_SPE_OP_MTE_TAG = 1 << 12,
> + ARM_SPE_OP_SVE = 1 << 13,
Changing the bit position of ARM_SPE_OP_SVE looks like a mistake. Don't
we just need to add ARM_SPE_OP_MTE_TAG at bit 13?
>
> /* Assisted information for memory / SIMD */
> ARM_SPE_OP_LD = 1 << 20,
>
More information about the linux-arm-kernel
mailing list