|
@@ -136,8 +136,9 @@ enum perf_event_sample_format {
|
|
|
PERF_SAMPLE_WEIGHT = 1U << 14,
|
|
|
PERF_SAMPLE_DATA_SRC = 1U << 15,
|
|
|
PERF_SAMPLE_IDENTIFIER = 1U << 16,
|
|
|
+ PERF_SAMPLE_TRANSACTION = 1U << 17,
|
|
|
|
|
|
- PERF_SAMPLE_MAX = 1U << 17, /* non-ABI */
|
|
|
+ PERF_SAMPLE_MAX = 1U << 18, /* non-ABI */
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -180,6 +181,28 @@ enum perf_sample_regs_abi {
|
|
|
PERF_SAMPLE_REGS_ABI_64 = 2,
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * Values for the memory transaction event qualifier, mostly for
|
|
|
+ * abort events. Multiple bits can be set.
|
|
|
+ */
|
|
|
+enum {
|
|
|
+ PERF_TXN_ELISION = (1 << 0), /* From elision */
|
|
|
+ PERF_TXN_TRANSACTION = (1 << 1), /* From transaction */
|
|
|
+ PERF_TXN_SYNC = (1 << 2), /* Instruction is related */
|
|
|
+ PERF_TXN_ASYNC = (1 << 3), /* Instruction not related */
|
|
|
+ PERF_TXN_RETRY = (1 << 4), /* Retry possible */
|
|
|
+ PERF_TXN_CONFLICT = (1 << 5), /* Conflict abort */
|
|
|
+ PERF_TXN_CAPACITY_WRITE = (1 << 6), /* Capacity write abort */
|
|
|
+ PERF_TXN_CAPACITY_READ = (1 << 7), /* Capacity read abort */
|
|
|
+
|
|
|
+ PERF_TXN_MAX = (1 << 8), /* non-ABI */
|
|
|
+
|
|
|
+ /* bits 32..63 are reserved for the abort code */
|
|
|
+
|
|
|
+ PERF_TXN_ABORT_MASK = (0xffffffffULL << 32),
|
|
|
+ PERF_TXN_ABORT_SHIFT = 32,
|
|
|
+};
|
|
|
+
|
|
|
/*
|
|
|
* The format of the data returned by read() on a perf event fd,
|
|
|
* as specified by attr.read_format:
|