Re: [PATCH 05/19] x86/dumpstack: fix function graph tracing stack dump reliability issues

From: Steven Rostedt
Date: Tue Aug 02 2016 - 22:33:34 EST


On Tue, 2 Aug 2016 20:56:56 -0500
Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> It's not specific to NMIs. The problem is that dump_trace() is starting
> from the frame pointed to by a pt_regs, rather than the current frame.
> Instead of starting with the current frame, the first 10 functions on
> the stack are skipped by the unwinder, but they're *not* skipped on the
> ret_stack. So it starts out out-of-sync.

OK, I see what you mean. If we do a dumpstack from interrupt passing in
the pt_regs of the kernel thread that was interrupted, even though
functions up to the interrupt was called and traced, which will show up
in the dump stack that shouldn't.

OK, you convinced me. Add the extra pointer, then we will have 4 longs
and 2 long longs in ftrace_ret_stack. That's not that bad.

-- Steve