Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1273019
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction |
| Date | 2015-11-19 11:50 +0100 |
| Message-ID | <qwuWR-88v-15@gated-at.bofh.it> (permalink) |
| References | (3 earlier) <qw6KS-Af-9@gated-at.bofh.it> <qw6KS-Af-7@gated-at.bofh.it> <qwr2V-5I2-5@gated-at.bofh.it> <qwrcB-5Lq-5@gated-at.bofh.it> <qwuDv-820-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 2015/11/19 18:23, Ingo Molnar wrote: > * Wangnan (F) <wangnan0@huawei.com> wrote: > >> >> On 2015/11/19 14:37, Ingo Molnar wrote: >>> * 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. >> Just for curiosity: >> >> how the interrupted process continue to execute, when the PC >> saved in pt_regs still pointed to 'callq' but SP and stack has >> already changes? Do we fix it in kernel, or by hardware? > PEBS is an asynchronous hardware tracing mechanism, when batched PEBS is used it > might not even result in any interruption of execution. The 'pt_regs' does not > necessarily correspond to an interrupted, restartable context - we take the RIP > from the PEBS machinery and also use LBR and disassembly to determine the previous > instruction, before reporting it to user-space. You mean __intel_pmu_pebs_event(), which generates many perf_events? Then their output are based on a same user stack, and could be error, because the instruction has finished, and user stack could be modified. Right? Also, why not fixing rsp in kernel if that instruction is a 'callq'? For avoiding instruction decoding? Thank you. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-18 08:30 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-18 09:20 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Ingo Molnar <mingo@kernel.org> - 2015-11-18 09:30 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-18 10:00 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Ingo Molnar <mingo@kernel.org> - 2015-11-19 07:40 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-19 07:50 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Ingo Molnar <mingo@kernel.org> - 2015-11-19 11:30 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-19 11:50 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Peter Zijlstra <peterz@infradead.org> - 2015-11-19 12:30 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Peter Zijlstra <peterz@infradead.org> - 2015-11-19 12:30 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Ingo Molnar <mingo@kernel.org> - 2015-11-27 09:40 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Peter Zijlstra <peterz@infradead.org> - 2015-11-30 10:30 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-18 10:10 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction Jiri Olsa <jolsa@redhat.com> - 2015-11-18 09:50 +0100
Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction "Wangnan (F)" <wangnan0@huawei.com> - 2015-11-18 10:20 +0100
csiph-web