Haswell has two additional LBR from flags for TSX: in_tx and abort_tx, implemented as a new "v4" version of the LBR format. Handle those in and adjust the sign extension code to still correctly extend. The flags are exported similarly in the LBR record to the existing misprediction flag
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -157,8 +157,11 @@ enum perf_branch_sample_type { · 156 unmodified lines | ||
| 157 | 157 | PERF_SAMPLE_BRANCH_ANY_CALL = 1U << 4, /* any call branch */ |
| 158 | 158 | PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << 5, /* any return branch */ |
| 159 | 159 | PERF_SAMPLE_BRANCH_IND_CALL = 1U << 6, /* indirect calls */ |
| 160 | + PERF_SAMPLE_BRANCH_ABORT_TX = 1U << 7, /* transaction aborts */ | |
| 161 | + PERF_SAMPLE_BRANCH_IN_TX = 1U << 8, /* in transaction */ | |
| 162 | + PERF_SAMPLE_BRANCH_NO_TX = 1U << 9, /* not in transaction */ | |
| 160 | 163 | |
| 161 | − PERF_SAMPLE_BRANCH_MAX = 1U << 7, /* non-ABI */ | |
| 164 | + PERF_SAMPLE_BRANCH_MAX = 1U << 10, /* non-ABI */ | |
| 162 | 165 | }; |
| 163 | 166 | |
| 164 | 167 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ |