perf/amd/ibs: Use interrupt regs ip for stack unwinding
authorRavi Bangoria <ravi.bangoria@amd.com>
Fri, 29 Apr 2022 05:14:41 +0000 (10:44 +0530)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 10 May 2022 09:00:45 +0000 (11:00 +0200)
commit3d47083b9ff46863e8374ad3bb5edb5e464c75f8
tree177e4643b38f346b9cb8700e7238f8113a3b3c2b
parent7685665c390dc68c2d9a74e8445f41494cc8f6cf
perf/amd/ibs: Use interrupt regs ip for stack unwinding

IbsOpRip is recorded when IBS interrupt is triggered. But there is
a skid from the time IBS interrupt gets triggered to the time the
interrupt is presented to the core. Meanwhile processor would have
moved ahead and thus IbsOpRip will be inconsistent with rsp and rbp
recorded as part of the interrupt regs. This causes issues while
unwinding stack using the ORC unwinder as it needs consistent rip,
rsp and rbp. Fix this by using rip from interrupt regs instead of
IbsOpRip for stack unwinding.

Fixes: ee9f8fce99640 ("x86/unwind: Add the ORC unwinder")
Reported-by: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru>
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20220429051441.14251-1-ravi.bangoria@amd.com
arch/x86/events/amd/ibs.c