]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf arm_spe: Report memset and memcpy in records
authorLeo Yan <leo.yan@arm.com>
Wed, 12 Nov 2025 18:24:40 +0000 (18:24 +0000)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 19 Nov 2025 04:31:30 +0000 (20:31 -0800)
Expose memset and memcpy related info in records.

Signed-off-by: Leo Yan <leo.yan@arm.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
tools/perf/util/arm-spe-decoder/arm-spe-decoder.h

index 5b214fc4ca9f67cf11700a18939f37f4a5400b84..6f0390d4089599cd6bbf1357fa4cd6ec8190a58c 100644 (file)
@@ -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;
index d14cf6b95507bcbdb1f7e6d4908e6c40c4a8279c..3f4dae589c062d927d286b73ce53fa39795daffd 100644 (file)
@@ -45,6 +45,8 @@ enum arm_spe_2nd_op_ldst {
        ARM_SPE_OP_SIMD_FP              = 1 << 11,
        ARM_SPE_OP_SVE                  = 1 << 12,
        ARM_SPE_OP_MTE_TAG              = 1 << 13,
+       ARM_SPE_OP_MEMCPY               = 1 << 14,
+       ARM_SPE_OP_MEMSET               = 1 << 15,
 
        /* Assisted information for memory / SIMD */
        ARM_SPE_OP_LD                   = 1 << 20,