]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
perf script: Add not taken event for branches
authorLeo Yan <leo.yan@arm.com>
Tue, 4 Mar 2025 11:12:32 +0000 (11:12 +0000)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 5 Mar 2025 17:13:19 +0000 (09:13 -0800)
Some hardware (e.g., Arm SPE) can trace the not taken event for
branches.  Add a flag for this event and support printing it.

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-5-leo.yan@arm.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/event.h
tools/perf/util/trace-event-scripting.c

index 962fbc1714cf4c2bad27fb1e6e3efba61d12eaed..c7f4b4b841cad51d2e055b2a0a143e263edaae39 100644 (file)
@@ -67,9 +67,10 @@ enum {
        PERF_IP_FLAG_INTR_DISABLE       = 1ULL << 13,
        PERF_IP_FLAG_INTR_TOGGLE        = 1ULL << 14,
        PERF_IP_FLAG_BRANCH_MISS        = 1ULL << 15,
+       PERF_IP_FLAG_NOT_TAKEN          = 1ULL << 16,
 };
 
-#define PERF_IP_FLAG_CHARS "bcrosyiABExghDtm"
+#define PERF_IP_FLAG_CHARS "bcrosyiABExghDtmn"
 
 #define PERF_ADDITIONAL_STATE_MASK     \
        (PERF_IP_FLAG_IN_TX |           \
@@ -91,7 +92,8 @@ enum {
        PERF_IP_FLAG_VMEXIT)
 
 #define PERF_IP_FLAG_BRACH_EVENT_MASK  \
-       PERF_IP_FLAG_BRANCH_MISS
+       (PERF_IP_FLAG_BRANCH_MISS |     \
+        PERF_IP_FLAG_NOT_TAKEN)
 
 #define PERF_MEM_DATA_SRC_NONE \
        (PERF_MEM_S(OP, NA) |\
index 55d7e4e612d50c7cdedd796364c52ddac7aa060b..29cc467be14a470ce32bd5ba0b6ed06fcd013ef5 100644 (file)
@@ -317,6 +317,7 @@ static const struct {
        const char *name;
 } branch_events[] = {
        {PERF_IP_FLAG_BRANCH_MISS, "miss"},
+       {PERF_IP_FLAG_NOT_TAKEN, "not_taken"},
        {0, NULL}
 };