public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] ftrace: cleanup ftrace_graph_caller enable and disable
@ 2022-02-23  9:01 Chengming Zhou
  2022-02-23  9:01 ` [PATCH v2 2/2] arm64/ftrace: Make function graph use ftrace directly Chengming Zhou
  2022-02-24  1:17 ` [PATCH v2 1/2] ftrace: cleanup ftrace_graph_caller enable and disable Steven Rostedt
  0 siblings, 2 replies; 4+ messages in thread
From: Chengming Zhou @ 2022-02-23  9:01 UTC (permalink / raw)
  To: rostedt, mingo, catalin.marinas, will, broonie, mark.rutland,
	tglx, bp, dave.hansen
  Cc: linux-arm-kernel, x86, linux-kernel, songmuchun, qirui.001,
	Chengming Zhou

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
when DYNAMIC_FTRACE_WITH_[ARGS,REGS] enabled. So introduce
weak version in Ftrace core code to cleanup them.

And fix the incorrect comment in that two #endif, which should
match the previous #ifdef and #ifndef.

Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
---
 arch/x86/kernel/ftrace.c | 14 ++------------
 kernel/trace/ftrace.c    | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 7cc540e6de0c..c119ef7a9295 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -615,18 +615,8 @@ int ftrace_disable_ftrace_graph_caller(void)
 
 	return ftrace_mod_jmp(ip, &ftrace_stub);
 }
-#else /* !CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS */
-int ftrace_enable_ftrace_graph_caller(void)
-{
-	return 0;
-}
-
-int ftrace_disable_ftrace_graph_caller(void)
-{
-	return 0;
-}
-#endif /* CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS */
-#endif /* !CONFIG_DYNAMIC_FTRACE */
+#endif /* !CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS */
+#endif /* CONFIG_DYNAMIC_FTRACE */
 
 /*
  * Hook the return address and push it in the stack of return addrs
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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-02-24  2:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-23  9:01 [PATCH v2 1/2] ftrace: cleanup ftrace_graph_caller enable and disable Chengming Zhou
2022-02-23  9:01 ` [PATCH v2 2/2] arm64/ftrace: Make function graph use ftrace directly Chengming Zhou
2022-02-24  1:17 ` [PATCH v2 1/2] ftrace: cleanup ftrace_graph_caller enable and disable Steven Rostedt
2022-02-24  2:00   ` [External] " Chengming Zhou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox