Re: [PATCH 0/5] perf: add support for capturing skid IP
From: Stephane Eranian
Date: Fri Jun 16 2017 - 13:12:23 EST
On Fri, Jun 16, 2017 at 10:08 AM, Stephane Eranian <eranian@xxxxxxxxxx> wrote:
> 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:
>>> 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.
A more generalized usage of the feature is to evaluate the amount of skid
for any precise event.