[PATCH v3 1/3] ftrace: cleanup ftrace_graph_caller enable and disable

Chengming Zhou zhouchengming at bytedance.com
Thu Feb 24 01:32:49 PST 2022


The ftrace_enable_ftrace_graph_caller() and
ftrace_disable_ftrace_graph_caller() are used to do special
hooks for graph tracer, which are not needed on some ARCHs
that use graph_ops:func function to install return_hooker.

So introduce the weak version in Ftrace core code to prepare
for cleanup.

Signed-off-by: Chengming Zhou <zhouchengming at bytedance.com>
---
 kernel/trace/ftrace.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index f9feb197b2da..60ae009e6684 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -2704,6 +2704,26 @@ int __weak ftrace_arch_code_modify_post_process(void)
 	return 0;
 }
 
+#ifdef CONFIG_FUNCTION_GRAPH_TRACER
+/*
+ * archs can override this function if they must do something
+ * to enable hook for graph tracer.
+ */
+int __weak ftrace_enable_ftrace_graph_caller(void)
+{
+	return 0;
+}
+
+/*
+ * archs can override this function if they must do something
+ * to disable hook for graph tracer.
+ */
+int __weak ftrace_disable_ftrace_graph_caller(void)
+{
+	return 0;
+}
+#endif
+
 void ftrace_modify_all_code(int command)
 {
 	int update = command & FTRACE_UPDATE_TRACE_FUNC;
-- 
2.20.1




More information about the linux-arm-kernel mailing list