Re: [PATCH v2 2/6] perf report: Caculate and return the branch counting in callchain

From: Nilay Vaish
Date: Thu Oct 20 2016 - 13:07:09 EST


On 20 October 2016 at 11:48, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
> On Thu, Oct 20, 2016 at 11:41:11AM -0500, Nilay Vaish wrote:
>> On 19 October 2016 at 17:01, Jin Yao <yao.jin@xxxxxxxxxxxxxxx> wrote:
>> > diff --git a/tools/perf/util/callchain.h b/tools/perf/util/callchain.h
>> > index 40ecf25..4f6bf6c 100644
>> > --- a/tools/perf/util/callchain.h
>> > +++ b/tools/perf/util/callchain.h
>> > @@ -115,6 +115,10 @@ struct callchain_list {
>> > bool unfolded;
>> > bool has_children;
>> > };
>> > + u64 branch_count;
>> > + u64 predicted_count;
>> > + u64 abort_count;
>>
>> Can you explain what abort count is? It seems you are referring to
>> miss-speculated branches. If that is the case, I would prefer that we
>> replace abort by miss_speculated or miss_predicted.
>
> abort refers to TSX aborts. It has nothing to do with branch
> mispredictions.

OK, I am more confused now. Are you predicting some quantity related
to transactions? Why would you divide abort count by branch count?
Further, I just looked at patch 6/6. It has the following text:

+ Also show with some branch flags that can be:
+ - Predicted: display the average percentage of predicated branches.
+ (predicated number / total number)
+ - Abort: display the average percentage of abort branches.
+ (abort number /total number)
+ - Cycles: cycles in basic block.


I think there is inconsistency between what you are suggesting and
what the patch has.

--
Nilay