Re: [RFC PATCH 24/32] x86/ftrace: Enable HAVE_FUNCTION_GRAPH_FREGS

From: Google
Date: Mon Nov 06 2023 - 07:47:54 EST


On Mon, 6 Nov 2023 11:19:32 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Mon, Nov 06, 2023 at 09:38:50AM +0900, Masami Hiramatsu wrote:
> > On Sun, 5 Nov 2023 18:34:09 -0500
> > Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > > On Sun, 5 Nov 2023 18:33:01 -0500
> > > Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > >
> > > > For x86_64, that would be:
> > > >
> > > > rdi, rsi, rdx, r8, r9, rsp
> > >
> > > I missed rcx.
> >
> > I would like to add rax to the list so that it can handle the return value too. :)
>
> So something like so?
>
>
> diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
> index 897cf02c20b1..71bfe27594a5 100644
> --- a/arch/x86/include/asm/ftrace.h
> +++ b/arch/x86/include/asm/ftrace.h
> @@ -36,6 +36,10 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
>
> #ifdef CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS
> struct ftrace_regs {
> + /*
> + * Partial, filled with:
> + * rax, rcx, rdx, rdi, rsi, r8, r9, rsp

Don't we need rbp too? (for frame pointer)


> + */
> struct pt_regs regs;
> };


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>