Messages in this thread | | | Date | Thu, 19 Nov 2015 07:37:10 +0100 | From | Ingo Molnar <> | Subject | Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction |
| |
* Wangnan (F) <wangnan0@huawei.com> wrote:
> >perf cmdline is > > > ># ./pref record -g -F 9 --call-graph dwarf ./test_dwarf_unwind > > > >Use default events, precise_ip == 2 so uses PEBS. > > > > Testetd 'cycles', 'cycles:p' and 'cycles:pp'. Only 'cycles:pp' captures > sample at callq. So maybe a PEBS problem?
Well, that's how our PEBS sampling works: we roll back the instruction pointer to point at the instruction generating the sample. The state itself is post-instruction.
So dwarf unwind has to take this into account. Should the kernel pass in the original (uncorrected) RIP as well, perhaps?
Thanks,
Ingo
| |