On Tue, Jul 11, 2017 at 11:00:57PM +0800, Jin Yao wrote:
PERF_BR_NONE : unknownI would suggest PERF_BR_UNKNOWN or PERF_BR_MISC, since PERF_BR_NONE
reads like it wasn't a branch at all.
PERF_BR_COND ïconditionalWhat's up with that 5 ? I can't see anything like that in the patch
PERF_BR_UNCOND : unconditional
PERF_BR_IND : indirect
PERF_BR_CALL : function call
PERF_BR_IND_CALL : indirect function call
PERF_BR_RET : function return
PERF_BR_SYSCALL : syscall
PERF_BR_SYSRET : syscall return
PERF_BR_COND_CALL : conditional function call
PERF_BR_COND_RET : conditional function return
The patch also adds a new field type (4 bits) in perf_branch_entry
to record the branch type (reserve 5 for future branch types)
itself:
@@ -1024,7 +1048,8 @@ struct perf_branch_entry {
in_tx:1, /* in transaction */
abort:1, /* transaction abort */
cycles:16, /* cycle count to last branch */
- reserved:44;
+ type:4, /* branch type */
+ reserved:40;
};