On Dienstag, 6. November 2018 09:39:57 CET Jiri Olsa wrote: > On Mon, Nov 05, 2018 at 04:10:37PM -0800, Andi Kleen wrote: > > > > > - PMU triggers interrupt and PEBS stores RIP etc. > > > > > - code continous to execute, possibly changing the stack > > > > > > > > I dont think the code continues to execute.. the stack is ok > > > > > > Are you sure about this? I mean, isn't that the whole reason why we need > > > PEBS? Generally, if you are sure about this, can you point me to some > > > documentation on this to allow me to understand it better? > > > > Milian is right. > > > > There is a execution window from PEBS capturing registers to actually > > triggering the PMU, and if there is stack manipulation in that window > > the PEBS state might be out of sync with the real stack. > > hum, is this about having 'large pebs' or there's this window > if there's also only single pebs record allowed? which should > be case for dwarf unwind > > > The right RIP/RSP to use for the stack unwinding is always the data > > in the PMI's exception frame on the stack. > > > > Probably would need to modify perf to report those too in addition > > to the PEBS registers. > > ok, should not be that hard Where would I look for the source to change here? So far, I only concentrated on the userspace side of perf in tools/perf. Thanks -- Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer KDAB (Deutschland) GmbH, a KDAB Group company Tel: +49-30-521325470 KDAB - The Qt, C++ and OpenGL Experts