Re: [PATCH 0/5] perf: add support for capturing skid IP

From: Stephane Eranian
Date: Fri Jun 16 2017 - 13:09:02 EST


On Fri, Jun 16, 2017 at 9:06 AM, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
> On Thu, Jun 15, 2017 at 11:52:07PM -0700, Stephane Eranian wrote:
>> Andi,
>>
>> On Thu, Jun 15, 2017 at 4:18 PM, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
>> >> Looking at this approach, the user interface is straightforward,
>> >> implementation in the x86 code is a bit more hairy because of the way
>> >> the branch_stack is captured, via the cpuc->lbr_entries. If you assume
>> >> that SKID_IP cannot be used with any other branch stack mode, then it
>> >> is easy. It becomes messy if you don't.
>> >
>> > That should be fine. After all if you have real LBRs you don't need
>> > the skid IP.
>> >
>> Yes, you still do. This is not the same thing. LBR captures only taken branches.
>> I care about taken AND non-taken branches and I don't want to sample on a
>> non-taken event, assuming it is available.
>
> Ok that's a reasonable argument for reporting it separately, like
> in your original patch.
>
Yeah, I think it is easier and more portable, especially on hardware with a
PEBS-like mechanism but no branch buffer (like LBR). FYI, I did do a test
implementation yesterday to evaluate the difficulty.

> -Andi