Move stack_tracer_enabled into trace_stack_sysctl_table. This is part of
a greater effort to move ctl tables into their respective subsystems
which will reduce the merge conflicts in kerenel/sysctl.c.
Signed-off-by: Joel Granados <joel.granados@kernel.org>
---
kernel/sysctl.c | 10 ----------
kernel/trace/trace_stack.c | 20 ++++++++++++++++++++
2 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index baa250e223a26bafc39cb7a7d7635b4f7f5dcf56..dc3747cc72d470662879e4f2b7f2651505b7ca90 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -68,7 +68,6 @@
#ifdef CONFIG_X86
#include <asm/nmi.h>
-#include <asm/stacktrace.h>
#include <asm/io.h>
#endif
#ifdef CONFIG_SPARC
@@ -1674,15 +1673,6 @@ static const struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
#endif
-#ifdef CONFIG_STACK_TRACER
- {
- .procname = "stack_tracer_enabled",
- .data = &stack_tracer_enabled,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = stack_trace_sysctl,
- },
-#endif
#ifdef CONFIG_MODULES
{
.procname = "modprobe",
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
index 14c6f272c4d8a382070d45e1cf0ee97db38831c9..b7ffbc1da8357f9c252cb8936c8f789daa97eb9a 100644
--- a/kernel/trace/trace_stack.c
+++ b/kernel/trace/trace_stack.c
@@ -578,3 +578,23 @@ static __init int stack_trace_init(void)
}
device_initcall(stack_trace_init);
+
+
+static const struct ctl_table trace_stack_sysctl_table[] = {
+ {
+ .procname = "stack_tracer_enabled",
+ .data = &stack_tracer_enabled,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = stack_trace_sysctl,
+ },
+};
+
+static int __init init_trace_stack_sysctls(void)
+{
+ register_sysctl_init("kernel", trace_stack_sysctl_table);
+ return 0;
+}
+subsys_initcall(init_trace_stack_sysctls);
+
+
--
2.47.2
On Thu, 06 Mar 2025 12:29:44 +0100
Joel Granados <joel.granados@kernel.org> wrote:
> Move stack_tracer_enabled into trace_stack_sysctl_table. This is part of
> a greater effort to move ctl tables into their respective subsystems
> which will reduce the merge conflicts in kerenel/sysctl.c.
>
> Signed-off-by: Joel Granados <joel.granados@kernel.org>
> ---
> kernel/sysctl.c | 10 ----------
> kernel/trace/trace_stack.c | 20 ++++++++++++++++++++
> 2 files changed, 20 insertions(+), 10 deletions(-)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index baa250e223a26bafc39cb7a7d7635b4f7f5dcf56..dc3747cc72d470662879e4f2b7f2651505b7ca90 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -68,7 +68,6 @@
>
> #ifdef CONFIG_X86
> #include <asm/nmi.h>
> -#include <asm/stacktrace.h>
> #include <asm/io.h>
> #endif
> #ifdef CONFIG_SPARC
> @@ -1674,15 +1673,6 @@ static const struct ctl_table kern_table[] = {
> .proc_handler = proc_dointvec,
> },
> #endif
> -#ifdef CONFIG_STACK_TRACER
> - {
> - .procname = "stack_tracer_enabled",
> - .data = &stack_tracer_enabled,
> - .maxlen = sizeof(int),
> - .mode = 0644,
> - .proc_handler = stack_trace_sysctl,
> - },
> -#endif
> #ifdef CONFIG_MODULES
> {
> .procname = "modprobe",
> diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
> index 14c6f272c4d8a382070d45e1cf0ee97db38831c9..b7ffbc1da8357f9c252cb8936c8f789daa97eb9a 100644
> --- a/kernel/trace/trace_stack.c
> +++ b/kernel/trace/trace_stack.c
> @@ -578,3 +578,23 @@ static __init int stack_trace_init(void)
> }
>
> device_initcall(stack_trace_init);
> +
> +
> +static const struct ctl_table trace_stack_sysctl_table[] = {
> + {
> + .procname = "stack_tracer_enabled",
> + .data = &stack_tracer_enabled,
> + .maxlen = sizeof(int),
> + .mode = 0644,
> + .proc_handler = stack_trace_sysctl,
> + },
> +};
> +
> +static int __init init_trace_stack_sysctls(void)
> +{
> + register_sysctl_init("kernel", trace_stack_sysctl_table);
> + return 0;
> +}
> +subsys_initcall(init_trace_stack_sysctls);
> +
> +
>
This should also make the variable "stack_tracer_enabled" static and
removed from the ftrace.h header.
-- Steve
On Thu, Mar 06, 2025 at 10:31:38AM -0500, Steven Rostedt wrote:
> On Thu, 06 Mar 2025 12:29:44 +0100
> Joel Granados <joel.granados@kernel.org> wrote:
>
> > Move stack_tracer_enabled into trace_stack_sysctl_table. This is part of
> > a greater effort to move ctl tables into their respective subsystems
> > which will reduce the merge conflicts in kerenel/sysctl.c.
> >
> > Signed-off-by: Joel Granados <joel.granados@kernel.org>
> > ---
> > kernel/sysctl.c | 10 ----------
> > kernel/trace/trace_stack.c | 20 ++++++++++++++++++++
> > 2 files changed, 20 insertions(+), 10 deletions(-)
> >
> > diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> > index baa250e223a26bafc39cb7a7d7635b4f7f5dcf56..dc3747cc72d470662879e4f2b7f2651505b7ca90 100644
> > --- a/kernel/sysctl.c
> > +++ b/kernel/sysctl.c
> > @@ -68,7 +68,6 @@
> >
> > #ifdef CONFIG_X86
> > #include <asm/nmi.h>
> > -#include <asm/stacktrace.h>
> > #include <asm/io.h>
> > #endif
> > #ifdef CONFIG_SPARC
> > @@ -1674,15 +1673,6 @@ static const struct ctl_table kern_table[] = {
> > .proc_handler = proc_dointvec,
> > },
> > #endif
> > -#ifdef CONFIG_STACK_TRACER
> > - {
> > - .procname = "stack_tracer_enabled",
> > - .data = &stack_tracer_enabled,
> > - .maxlen = sizeof(int),
> > - .mode = 0644,
> > - .proc_handler = stack_trace_sysctl,
> > - },
> > -#endif
> > #ifdef CONFIG_MODULES
> > {
> > .procname = "modprobe",
> > diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
> > index 14c6f272c4d8a382070d45e1cf0ee97db38831c9..b7ffbc1da8357f9c252cb8936c8f789daa97eb9a 100644
> > --- a/kernel/trace/trace_stack.c
> > +++ b/kernel/trace/trace_stack.c
> > @@ -578,3 +578,23 @@ static __init int stack_trace_init(void)
> > }
> >
> > device_initcall(stack_trace_init);
> > +
> > +
> > +static const struct ctl_table trace_stack_sysctl_table[] = {
> > + {
> > + .procname = "stack_tracer_enabled",
> > + .data = &stack_tracer_enabled,
> > + .maxlen = sizeof(int),
> > + .mode = 0644,
> > + .proc_handler = stack_trace_sysctl,
> > + },
> > +};
> > +
> > +static int __init init_trace_stack_sysctls(void)
> > +{
> > + register_sysctl_init("kernel", trace_stack_sysctl_table);
> > + return 0;
> > +}
> > +subsys_initcall(init_trace_stack_sysctls);
> > +
> > +
> >
>
> This should also make the variable "stack_tracer_enabled" static and
> removed from the ftrace.h header.
oops, my bad. just sent out V3.
Thx
Best
--
Joel Granados
© 2016 - 2026 Red Hat, Inc.