Messages in this thread | | | From | Stephane Eranian <> | Date | Thu, 15 Jun 2017 23:52:07 -0700 | Subject | Re: [PATCH 0/5] perf: add support for capturing skid IP |
| |
Andi,
On Thu, Jun 15, 2017 at 4:18 PM, Andi Kleen <ak@linux.intel.com> 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.
You need to inject the skid ip into the LBR stack somehow. Either directly in the registers or in the cpuc->lbr_entries. The injection can only happen on interrupt whereas the LBR captures 32 branches. So you'd have the skid ip info only for the most recent branch in the stack.
| |