Re: [PATCH v7 23/36] function_graph: Add a new exit handler with parent_ip and ftrace_regs

From: Google
Date: Fri Feb 16 2024 - 03:47:39 EST


On Thu, 15 Feb 2024 10:39:43 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Wed, 7 Feb 2024 00:11:44 +0900
> "Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx> wrote:
>
> > From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
> >
> > Add a new return handler to fgraph_ops as 'retregfunc' which takes
> > parent_ip and ftrace_regs instead of ftrace_graph_ret. This handler
> > is available only if the arch support CONFIG_HAVE_FUNCTION_GRAPH_FREGS.
> > Note that the 'retfunc' and 'reregfunc' are mutual exclusive.
> > You can set only one of them.
> >
> > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
> >
>
> > @@ -1076,6 +1083,7 @@ struct fgraph_ops {
> > trace_func_graph_ent_t entryfunc;
> > trace_func_graph_ret_t retfunc;
> > trace_func_graph_regs_ent_t entryregfunc;
> > + trace_func_graph_regs_ret_t retregfunc;
>
> Same for this:
>
> struct fgraph_ops {
> union {
> trace_func_graph_ent_t entryfunc;
> trace_func_graph_regs_ent_t entryregfunc;
> };
> union {
> trace_func_graph_ret_t retfunc;
> trace_func_graph_regs_ret_t retregfunc;
> }

OK, and we need to introduce a flag for fgraph_ops that it is using
`regfunc` or not.

Thank you,

>
> -- Steve
>
>
> > struct ftrace_ops ops; /* for the hash lists */
> > void *private;
> > int idx;


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