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>