[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a58fd433-fc3d-0da8-a292-0c9b0ea7c333@suse.com>
Date: Wed, 24 Jan 2018 10:59:53 +0200
From: Nikolay Borisov <nborisov@...e.com>
To: Steven Rostedt <rostedt@...dmis.org>, linux-kernel@...r.kernel.org
Cc: Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Josh Poimboeuf <jpoimboe@...hat.com>
Subject: Re: [PATCH 0/3] ftrace, orc, x86, tracing: Fix stack traces again
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(-)
>
Powered by blists - more mailing lists