lkml.org 
[lkml]   [2017]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v7 1/7] perf/core: Define the common branch type classification
From
Date


On 7/11/2017 8:06 PM, Peter Zijlstra wrote:
> 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.

OK, I will change it to PERF_BR_UNKNOWN.

>> 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:

Sorry, I don't say this clearly.

We has defined 11 branch types (from PERF_BR_UNKNOWN to
PERF_BR_COND_RET), so we can define 5 new types in future.

Thanks
Jin Yao

>> @@ -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;
>> };
>

\
 
 \ /
  Last update: 2017-07-11 14:29    [W:0.044 / U:0.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site