perf tools: Define new D (Intr Disable) and t (Intr Toggle) flags
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 24 Jan 2022 08:41:47 +0000 (10:41 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 15 Feb 2022 20:09:25 +0000 (17:09 -0300)
Define 2 new flags to represent:

 - when interrupts are disabled (D)
 - when interrupt disabling toggles (t)

This gives 4 combinations:
no flag, interrupts enabled
t interrupts were enabled but become disabled
D interrupts are disabled
Dt interrupts were disabled but become enabled

Committer notes:

Those are control flow flags, as per 'tools/perf/Documentation/perf-intel-pt.txt:

<quote>
An interesting field that is not printed by default is 'flags' which can be
displayed as follows:

        perf script --itrace=ibxwpe -F+flags

The flags are "bcrosyiABExgh" which stand for branch, call, return, conditional,
system, asynchronous, interrupt, transaction abort, trace begin, trace end,
in transaction, VM-entry, and VM-exit respectively.
</quote>

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/r/20220124084201.2699795-12-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/event.h

index 9354619..320cbcd 100644 (file)
@@ -101,9 +101,11 @@ enum {
        PERF_IP_FLAG_IN_TX              = 1ULL << 10,
        PERF_IP_FLAG_VMENTRY            = 1ULL << 11,
        PERF_IP_FLAG_VMEXIT             = 1ULL << 12,
+       PERF_IP_FLAG_INTR_DISABLE       = 1ULL << 13,
+       PERF_IP_FLAG_INTR_TOGGLE        = 1ULL << 14,
 };
 
-#define PERF_IP_FLAG_CHARS "bcrosyiABExgh"
+#define PERF_IP_FLAG_CHARS "bcrosyiABExghDt"
 
 #define PERF_BRANCH_MASK               (\
        PERF_IP_FLAG_BRANCH             |\