perf arm-spe: Decode transactional event
authorLeo Yan <leo.yan@arm.com>
Tue, 4 Mar 2025 11:12:36 +0000 (11:12 +0000)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 5 Mar 2025 17:13:20 +0000 (09:13 -0800)
The bit[16] in an event payload indicates an operation is in
transactional state.  Decode the bit.

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

index 625834da7e20ec89132a92f913df019a8cf2298e..13cadb2f1ceac7a90e359c4d6aa1d5fc5169e142 100644 (file)
@@ -308,6 +308,8 @@ static int arm_spe_pkt_desc_event(const struct arm_spe_pkt *packet,
                arm_spe_pkt_out_string(&err, &buf, &buf_len, " REMOTE-ACCESS");
        if (payload & BIT(EV_ALIGNMENT))
                arm_spe_pkt_out_string(&err, &buf, &buf_len, " ALIGNMENT");
+       if (payload & BIT(EV_TRANSACTIONAL))
+               arm_spe_pkt_out_string(&err, &buf, &buf_len, " TXN");
        if (payload & BIT(EV_PARTIAL_PREDICATE))
                arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-PARTIAL-PRED");
        if (payload & BIT(EV_EMPTY_PREDICATE))
index 32d760ede70133db285d5f632432ab3232a87b9e..2cdf9f6da2681244291445d54c5b13fe8a2e9d9a 100644 (file)
@@ -105,6 +105,7 @@ enum arm_spe_events {
        EV_LLC_MISS             = 9,
        EV_REMOTE_ACCESS        = 10,
        EV_ALIGNMENT            = 11,
+       EV_TRANSACTIONAL        = 16,
        EV_PARTIAL_PREDICATE    = 17,
        EV_EMPTY_PREDICATE      = 18,
 };