Messages in this thread | | | Subject | Re: [PATCH 0/3] ftrace, orc, x86, tracing: Fix stack traces again | From | Nikolay Borisov <> | Date | Wed, 24 Jan 2018 10:59:53 +0200 |
| |
On 23.01.2018 20:32, Steven Rostedt wrote: > With the new ORC unwinder, ftrace stack tracing became disfunctional. > > One was that ORC didn't know how to handle the ftrace callbacks in > general (which Josh fixed). The other was that ORC would just bail > if it hit a dynamically allocated trampoline. I added a check to > the ORC unwinder to see if the trampoline belonged to ftrace, and > if it did, use the orc entry of the static trampoline that was used > to create the dynamic one (it would be identical). > > Finally, I noticed that the skip values of the stack tracing is out > of whack. I went through and fixed them. > > Anyone have any issues with these patches? I'm starting my tests on > them now and if all goes well, I plan on pushing them to Linus > hopefully tonight. > > Thanks!
FWIW with this series ftrace with ORC now produces correct stacktraces both for events and function tracing. Furthermore, with frame pointer unwinder I don't see chopped off stack entries.
> > -- Steve > > > Josh Poimboeuf (1): > x86/ftrace: Fix ORC unwinding from ftrace handlers > > Steven Rostedt (VMware) (2): > ftrace, orc, x86: Handle ftrace dynamically allocated trampolines > tracing: Update stack trace skipping for ORC unwinder > > ---- > arch/x86/kernel/Makefile | 5 +++- > arch/x86/kernel/ftrace_64.S | 24 +++++++++++------- > arch/x86/kernel/unwind_orc.c | 48 +++++++++++++++++++++++++++++++++++- > include/linux/ftrace.h | 2 ++ > kernel/trace/ftrace.c | 26 +++++++++++--------- > kernel/trace/trace.c | 34 ++++++++++++++----------- > kernel/trace/trace_events_trigger.c | 13 ++++++++-- > kernel/trace/trace_functions.c | 49 +++++++++++++++++++++++++++---------- > 8 files changed, 150 insertions(+), 51 deletions(-) >
| |