[PATCH 14/25] perf arm_spe: Report memset and memcpy in records
James Clark
james.clark at linaro.org
Thu Oct 9 02:33:44 PDT 2025
On 29/09/2025 5:37 pm, Leo Yan wrote:
> Expose memset and memcpy related info in records.
>
> Signed-off-by: Leo Yan <leo.yan at arm.com>
> ---
> tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 4 ++++
> tools/perf/util/arm-spe-decoder/arm-spe-decoder.h | 4 +++-
> 2 files changed, 7 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 5b214fc4ca9f67cf11700a18939f37f4a5400b84..6f0390d4089599cd6bbf1357fa4cd6ec8190a58c 100644
> --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
> @@ -224,6 +224,10 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder)
> decoder->record.op |= ARM_SPE_OP_PRED;
> if (payload & SPE_OP_PKT_SVE_SG)
> decoder->record.op |= ARM_SPE_OP_SG;
> + } else if (SPE_OP_PKT_LDST_SUBCLASS_MEMCPY(payload)) {
> + decoder->record.op |= ARM_SPE_OP_MEMCPY;
> + } else if (SPE_OP_PKT_LDST_SUBCLASS_MEMSET(payload)) {
> + decoder->record.op |= ARM_SPE_OP_MEMSET;
> }
>
> break;
> 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 87d45c11ad7483c167b4d9cb2e481a001f54e5cc..565458a7a6cbd94d67803cc122154cb5cab4f308 100644
> --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
> @@ -43,7 +43,9 @@ enum arm_spe_op_type {
> ARM_SPE_OP_NV_SYSREG = 1 << 10,
> ARM_SPE_OP_SIMD_FP = 1 << 11,
> ARM_SPE_OP_MTE_TAG = 1 << 12,
> - ARM_SPE_OP_SVE = 1 << 13,
> + ARM_SPE_OP_MEMCPY = 1 << 13,
> + ARM_SPE_OP_MEMSET = 1 << 14,
> + ARM_SPE_OP_SVE = 1 << 15,
Same comment as patch 11
>
> /* Assisted information for memory / SIMD */
> ARM_SPE_OP_LD = 1 << 20,
>
More information about the linux-arm-kernel
mailing list