On Tue, Jul 11, 2017 at 11:00:57PM +0800, Jin Yao wrote:
> PERF_BR_NONE            : unknown

I 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            :conditional
> 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)

What's up with that 5 ? I can't see anything like that in the patch
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;
>  };


Reply via email to