[RFC 2/3] arm64: refactor save_stack_trace()

Steven Rostedt rostedt at goodmis.org
Thu Jul 16 07:34:45 PDT 2015


On Thu, 16 Jul 2015 15:28:34 +0100
Mark Rutland <mark.rutland at arm.com> wrote:


> > diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h
> > index c5534fa..868d6f1 100644
> > --- a/arch/arm64/include/asm/ftrace.h
> > +++ b/arch/arm64/include/asm/ftrace.h
> > @@ -15,6 +15,7 @@
> > 
> >   #define MCOUNT_ADDR		((unsigned long)_mcount)
> >   #define MCOUNT_INSN_SIZE	AARCH64_INSN_SIZE
> > +#define FTRACE_STACK_FRAME_OFFSET 4 /* sync it up with stacktrace.c */
> 
> Is there any reason we couldn't have the arch code dump the stack depth
> for each function when it walks the stack to generate the stack trace?
> 
> That means we can provide a more precise result (because we know the
> layour of our own stackframes), and we only need walk the stack once to
> do so.
> 
> The downside is that we need a new function per-arch to do so.

Or we make check_patch() a weak function, and let archs override it. I
can possibly break up the code a bit to have helper functions where
things are the same.

I want x86 to be able to track irq stacks as well, but there's no way
to do that generically yet, so having arch specific functions has been
on my todo list.

-- Steve




More information about the linux-arm-kernel mailing list