Re: [RFC][PATCH] ppc: Implement save_stack_trace_regs()

Steven Rostedt
2015-12-09T00:28:48Z

On Wed, 09 Dec 2015 11:20:22 +1100
Michael Ellerman <mpe@ellerman.id.au> wrote:

> On Tue, 2015-12-08 at 13:50 -0500, Steven Rostedt wrote:
>
> > It has come to my attention that kprobe event stack tracing does not
> > work on powerpc.
>
> Yep looks like you're right. I didn't realise it was separate from the regular
> stack trace stuff.
>
> > diff --git a/arch/powerpc/kernel/stacktrace.c b/arch/powerpc/kernel/stacktrace.c
> > index ea43a347a104..0142c86801ba 100644
> > --- a/arch/powerpc/kernel/stacktrace.c
> > +++ b/arch/powerpc/kernel/stacktrace.c
> > @@ -61,3 +61,10 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
> > save_context_stack(trace, tsk->thread.ksp, tsk, 0);
> > }
> > EXPORT_SYMBOL_GPL(save_stack_trace_tsk);
> > +
> > +void
> > +save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace)
> > +{
> > + save_context_stack(trace, regs->gpr[PT_R1], current, 0);
>
> In the kernel we would normally use just '1' here rather than 'PT_R1', but it's
> not a huge deal.
>
> Should I take this via powerpc or do you want it to go in via tracing?
>

You can take it. And you can replace the PT_R1 if you want. I just
noticed that it was defined, and I try to use macro names instead of
hard coded numbers. I was actually looking for a "PT_SP" :-)

-- Steve