[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