Re: [PATCH v2 4/6] stack_tracer: move sysctl registration to kernel/trace/trace_stack.c
From: Steven Rostedt
Date: Thu Mar 06 2025 - 10:34:46 EST
On Thu, 06 Mar 2025 12:29:44 +0100
Joel Granados <joel.granados@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
> 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