ftrace: move sysctl_ftrace_enabled to ftrace.c
authorWei Xiao <xiaowei66@huawei.com>
Wed, 23 Feb 2022 11:11:53 +0000 (19:11 +0800)
committerLuis Chamberlain <mcgrof@kernel.org>
Wed, 6 Apr 2022 20:43:44 +0000 (13:43 -0700)
This moves ftrace_enabled to trace/ftrace.c.

We move sysctls to places where features actually belong to improve
the readability of the code and reduce the risk of code merge conflicts.
At the same time, the proc-sysctl maintainers do not want to know what
sysctl knobs you wish to add for your owner piece of code, we just care
about the core logic.

Signed-off-by: Wei Xiao <xiaowei66@huawei.com>
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
include/linux/ftrace.h
kernel/sysctl.c
kernel/trace/ftrace.c

index 4816b7e..088b915 100644 (file)
@@ -101,9 +101,6 @@ static inline int ftrace_mod_get_kallsym(unsigned int symnum, unsigned long *val
 #ifdef CONFIG_FUNCTION_TRACER
 
 extern int ftrace_enabled;
-extern int
-ftrace_enable_sysctl(struct ctl_table *table, int write,
-                    void *buffer, size_t *lenp, loff_t *ppos);
 
 #ifndef CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS
 
index 10a551f..21172d3 100644 (file)
@@ -1751,15 +1751,6 @@ static struct ctl_table kern_table[] = {
                .proc_handler   = proc_dointvec,
        },
 #endif
-#ifdef CONFIG_FUNCTION_TRACER
-       {
-               .procname       = "ftrace_enabled",
-               .data           = &ftrace_enabled,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = ftrace_enable_sysctl,
-       },
-#endif
 #ifdef CONFIG_STACK_TRACER
        {
                .procname       = "stack_tracer_enabled",
index 4f1d2f5..a5efbbc 100644 (file)
@@ -7921,7 +7921,8 @@ static bool is_permanent_ops_registered(void)
        return false;
 }
 
-int
+#ifdef CONFIG_SYSCTL
+static int
 ftrace_enable_sysctl(struct ctl_table *table, int write,
                     void *buffer, size_t *lenp, loff_t *ppos)
 {
@@ -7964,3 +7965,22 @@ ftrace_enable_sysctl(struct ctl_table *table, int write,
        mutex_unlock(&ftrace_lock);
        return ret;
 }
+
+static struct ctl_table ftrace_sysctls[] = {
+       {
+               .procname       = "ftrace_enabled",
+               .data           = &ftrace_enabled,
+               .maxlen         = sizeof(int),
+               .mode           = 0644,
+               .proc_handler   = ftrace_enable_sysctl,
+       },
+       {}
+};
+
+static int __init ftrace_sysctl_init(void)
+{
+       register_sysctl_init("kernel", ftrace_sysctls);
+       return 0;
+}
+late_initcall(ftrace_sysctl_init);
+#endif