Message ID | 20250218-jag-mv_ctltables-v1-7-cd3698ab8d29@kernel.org |
---|---|
State | New |
Headers | show |
Series | sysctl: Move sysctls from kern_table into their respective subsystems | expand |
On Tue, Feb 18, 2025 at 03:08:21PM +0100, Heiko Carstens wrote: > On Tue, Feb 18, 2025 at 10:56:23AM +0100, joel granados wrote: > > Move s390 sysctls (spin_retry and userprocess_debug) into their own > > files under arch/s390. We create two new sysctl tables > > (2390_{fault,spin}_sysctl_table) which will be initialized with > > arch_initcall placing them after their original place in proc_root_init. > > > > 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. > ^^^^^^^ > typo Fixed > > > diff --git a/arch/s390/lib/spinlock.c b/arch/s390/lib/spinlock.c > > index a81a01c44927..4483fdc9d472 100644 > > --- a/arch/s390/lib/spinlock.c > > +++ b/arch/s390/lib/spinlock.c > > @@ -17,6 +17,10 @@ > > #include <asm/alternative.h> > > #include <asm/asm.h> > > > > +#if defined(CONFIG_SMP) > > +#include <linux/sysctl.h> > > +#endif > > + > ... > > +#if defined(CONFIG_SMP) > > +static const struct ctl_table s390_spin_sysctl_table[] = { > > + { > > + .procname = "spin_retry", > > + .data = &spin_retry, > > + .maxlen = sizeof(int), > > + .mode = 0644, > > + .proc_handler = proc_dointvec, > > + }, > > +}; > > + > > +static int __init init_s390_spin_sysctls(void) > > +{ > > + register_sysctl_init("kernel", s390_spin_sysctl_table); > > + return 0; > > +} > > +arch_initcall(init_s390_spin_sysctls); > > +#endif > > I see that you want to keep the existing CONFIG_SMP behaviour, but since a > long time s390 enforces CONFIG_SMP=y (this was obviously never reflected in > kernel/sysctl.c). > Therefore the above ifdefs should be removed, and in addition the include > statement should be added to the other linux includes at the top of the file. I'll add these changes to my V2 Thx for the review
diff --git a/arch/s390/lib/spinlock.c b/arch/s390/lib/spinlock.c index a81a01c44927..4483fdc9d472 100644 --- a/arch/s390/lib/spinlock.c +++ b/arch/s390/lib/spinlock.c @@ -17,6 +17,10 @@ #include <asm/alternative.h> #include <asm/asm.h> +#if defined(CONFIG_SMP) +#include <linux/sysctl.h> +#endif + int spin_retry = -1; static int __init spin_retry_init(void) @@ -37,6 +41,25 @@ static int __init spin_retry_setup(char *str) } __setup("spin_retry=", spin_retry_setup); +#if defined(CONFIG_SMP) +static const struct ctl_table s390_spin_sysctl_table[] = { + { + .procname = "spin_retry", + .data = &spin_retry, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec, + }, +}; + +static int __init init_s390_spin_sysctls(void) +{ + register_sysctl_init("kernel", s390_spin_sysctl_table); + return 0; +} +arch_initcall(init_s390_spin_sysctls); +#endif + struct spin_wait { struct spin_wait *next, *prev; int node_id; diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 9b681f74dccc..507da355bf68 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -175,6 +175,23 @@ static void dump_fault_info(struct pt_regs *regs) int show_unhandled_signals = 1; +static const struct ctl_table s390_fault_sysctl_table[] = { + { + .procname = "userprocess_debug", + .data = &show_unhandled_signals, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec, + }, +}; + +static int __init init_s390_fault_sysctls(void) +{ + register_sysctl_init("kernel", s390_fault_sysctl_table); + return 0; +} +arch_initcall(init_s390_fault_sysctls); + void report_user_fault(struct pt_regs *regs, long signr, int is_mm_fault) { static DEFINE_RATELIMIT_STATE(rs, DEFAULT_RATELIMIT_INTERVAL, DEFAULT_RATELIMIT_BURST); diff --git a/kernel/sysctl.c b/kernel/sysctl.c index b63d53e592d8..7f505f9ace87 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -1702,15 +1702,6 @@ static const struct ctl_table kern_table[] = { .extra1 = SYSCTL_ZERO, .extra2 = SYSCTL_MAXOLDUID, }, -#ifdef CONFIG_S390 - { - .procname = "userprocess_debug", - .data = &show_unhandled_signals, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = proc_dointvec, - }, -#endif { .procname = "ngroups_max", .data = (void *)&ngroups_max, @@ -1791,15 +1782,6 @@ static const struct ctl_table kern_table[] = { .proc_handler = proc_dointvec, }, #endif -#if defined(CONFIG_S390) && defined(CONFIG_SMP) - { - .procname = "spin_retry", - .data = &spin_retry, - .maxlen = sizeof (int), - .mode = 0644, - .proc_handler = proc_dointvec, - }, -#endif #if defined(CONFIG_ACPI_SLEEP) && defined(CONFIG_X86) { .procname = "acpi_video_flags",
Move s390 sysctls (spin_retry and userprocess_debug) into their own files under arch/s390. We create two new sysctl tables (2390_{fault,spin}_sysctl_table) which will be initialized with arch_initcall placing them after their original place in proc_root_init. 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> --- arch/s390/lib/spinlock.c | 23 +++++++++++++++++++++++ arch/s390/mm/fault.c | 17 +++++++++++++++++ kernel/sysctl.c | 18 ------------------ 3 files changed, 40 insertions(+), 18 deletions(-)