Message ID | 20250509-jag-mv_ctltables_iter2-v1-2-d0ad83f5f4c3@kernel.org |
---|---|
State | New |
Headers | show |
Series | sysctl: Move sysctls to their respective subsystems (second batch) | expand |
On 5/9/25 8:54 AM, Joel Granados wrote: > Move the max_lock_depth sysctl table element and variable into > rtmutex.c. Make the variable static as it no longer needs to be > exported. Removed the rtmutex.h include from sysctl.c. > > This is part of a greater effort to move ctl tables into their > respective subsystems which will reduce the merge conflicts in > kernel/sysctl.c. > > Signed-off-by: Joel Granados <joel.granados@kernel.org> > --- > include/linux/rtmutex.h | 2 -- > kernel/locking/rtmutex.c | 23 +++++++++++++++++++++++ > kernel/locking/rtmutex_api.c | 5 ----- > kernel/sysctl.c | 12 ------------ > 4 files changed, 23 insertions(+), 19 deletions(-) > > diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h > index 7d049883a08ace049384d70b4c97e3f4fb0e46f8..dc9a51cda97cdb6ac8e12be5209071744101b703 100644 > --- a/include/linux/rtmutex.h > +++ b/include/linux/rtmutex.h > @@ -18,8 +18,6 @@ > #include <linux/rbtree_types.h> > #include <linux/spinlock_types_raw.h> > > -extern int max_lock_depth; /* for sysctl */ > - > struct rt_mutex_base { > raw_spinlock_t wait_lock; > struct rb_root_cached waiters; > diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c > index c80902eacd797c669dedcf10966a8cff38524b50..705a0e0fd72ab8da051e4227a5b89cb3d1539524 100644 > --- a/kernel/locking/rtmutex.c > +++ b/kernel/locking/rtmutex.c > @@ -29,6 +29,29 @@ > #include "rtmutex_common.h" > #include "lock_events.h" > > +/* > + * Max number of times we'll walk the boosting chain: > + */ > +static int max_lock_depth = 1024; > + > +static const struct ctl_table rtmutex_sysctl_table[] = { > + { > + .procname = "max_lock_depth", > + .data = &max_lock_depth, > + .maxlen = sizeof(int), > + .mode = 0644, > + .proc_handler = proc_dointvec, > + }, > +}; > + > +static int __init init_rtmutex_sysctl(void) > +{ > + register_sysctl_init("kernel", rtmutex_sysctl_table); > + return 0; > +} > + > +subsys_initcall(init_rtmutex_sysctl); > + > #ifndef WW_RT > # define build_ww_mutex() (false) > # define ww_container_of(rtm) NULL > diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c > index 191e4720e546627aed0d7ec715673b1b8753b130..2b5da8af206da6ee72df1234a4db94f5c4f6f882 100644 > --- a/kernel/locking/rtmutex_api.c > +++ b/kernel/locking/rtmutex_api.c > @@ -8,11 +8,6 @@ > #define RT_MUTEX_BUILD_MUTEX > #include "rtmutex.c" > > -/* > - * Max number of times we'll walk the boosting chain: > - */ > -int max_lock_depth = 1024; > - > /* > * Debug aware fast / slowpath lock,trylock,unlock > * > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index 473133d9651eac4ef44b8b63a44b77189818ac08..a22f35013da0d838ef421fc5d192f00d1e70fb0f 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -59,9 +59,6 @@ > #include <asm/nmi.h> > #include <asm/io.h> > #endif > -#ifdef CONFIG_RT_MUTEXES > -#include <linux/rtmutex.h> > -#endif > > /* shared constants to be used in various sysctls */ > const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 }; > @@ -1709,15 +1706,6 @@ static const struct ctl_table kern_table[] = { > .proc_handler = proc_dointvec, > }, > #endif > -#ifdef CONFIG_RT_MUTEXES > - { > - .procname = "max_lock_depth", > - .data = &max_lock_depth, > - .maxlen = sizeof(int), > - .mode = 0644, > - .proc_handler = proc_dointvec, > - }, > -#endif > #ifdef CONFIG_TREE_RCU > { > .procname = "panic_on_rcu_stall", > Acked-by: Waiman Long <longman@redhat.com>
On Fri, May 09, 2025 at 02:54:06PM +0200, Joel Granados wrote: > Move the max_lock_depth sysctl table element and variable into > rtmutex.c. Make the variable static as it no longer needs to be > exported. Removed the rtmutex.h include from sysctl.c. > > This is part of a greater effort to move ctl tables into their > respective subsystems which will reduce the merge conflicts in > kernel/sysctl.c. > > Signed-off-by: Joel Granados <joel.granados@kernel.org> Yup, all looks good, including the variable relocation. Reviewed-by: Kees Cook <kees@kernel.org> > --- > include/linux/rtmutex.h | 2 -- > kernel/locking/rtmutex.c | 23 +++++++++++++++++++++++ > kernel/locking/rtmutex_api.c | 5 ----- > kernel/sysctl.c | 12 ------------ > 4 files changed, 23 insertions(+), 19 deletions(-) > > diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h > index 7d049883a08ace049384d70b4c97e3f4fb0e46f8..dc9a51cda97cdb6ac8e12be5209071744101b703 100644 > --- a/include/linux/rtmutex.h > +++ b/include/linux/rtmutex.h > @@ -18,8 +18,6 @@ > #include <linux/rbtree_types.h> > #include <linux/spinlock_types_raw.h> > > -extern int max_lock_depth; /* for sysctl */ > - > struct rt_mutex_base { > raw_spinlock_t wait_lock; > struct rb_root_cached waiters; > diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c > index c80902eacd797c669dedcf10966a8cff38524b50..705a0e0fd72ab8da051e4227a5b89cb3d1539524 100644 > --- a/kernel/locking/rtmutex.c > +++ b/kernel/locking/rtmutex.c > @@ -29,6 +29,29 @@ > #include "rtmutex_common.h" > #include "lock_events.h" > > +/* > + * Max number of times we'll walk the boosting chain: > + */ > +static int max_lock_depth = 1024; > + > +static const struct ctl_table rtmutex_sysctl_table[] = { > + { > + .procname = "max_lock_depth", > + .data = &max_lock_depth, > + .maxlen = sizeof(int), > + .mode = 0644, > + .proc_handler = proc_dointvec, > + }, > +}; > + > +static int __init init_rtmutex_sysctl(void) > +{ > + register_sysctl_init("kernel", rtmutex_sysctl_table); > + return 0; > +} > + > +subsys_initcall(init_rtmutex_sysctl); > + > #ifndef WW_RT > # define build_ww_mutex() (false) > # define ww_container_of(rtm) NULL > diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c > index 191e4720e546627aed0d7ec715673b1b8753b130..2b5da8af206da6ee72df1234a4db94f5c4f6f882 100644 > --- a/kernel/locking/rtmutex_api.c > +++ b/kernel/locking/rtmutex_api.c > @@ -8,11 +8,6 @@ > #define RT_MUTEX_BUILD_MUTEX > #include "rtmutex.c" > > -/* > - * Max number of times we'll walk the boosting chain: > - */ > -int max_lock_depth = 1024; > - > /* > * Debug aware fast / slowpath lock,trylock,unlock > * > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index 473133d9651eac4ef44b8b63a44b77189818ac08..a22f35013da0d838ef421fc5d192f00d1e70fb0f 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -59,9 +59,6 @@ > #include <asm/nmi.h> > #include <asm/io.h> > #endif > -#ifdef CONFIG_RT_MUTEXES > -#include <linux/rtmutex.h> > -#endif > > /* shared constants to be used in various sysctls */ > const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 }; > @@ -1709,15 +1706,6 @@ static const struct ctl_table kern_table[] = { > .proc_handler = proc_dointvec, > }, > #endif > -#ifdef CONFIG_RT_MUTEXES > - { > - .procname = "max_lock_depth", > - .data = &max_lock_depth, > - .maxlen = sizeof(int), > - .mode = 0644, > - .proc_handler = proc_dointvec, > - }, > -#endif > #ifdef CONFIG_TREE_RCU > { > .procname = "panic_on_rcu_stall", > > -- > 2.47.2 > >
diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h index 7d049883a08ace049384d70b4c97e3f4fb0e46f8..dc9a51cda97cdb6ac8e12be5209071744101b703 100644 --- a/include/linux/rtmutex.h +++ b/include/linux/rtmutex.h @@ -18,8 +18,6 @@ #include <linux/rbtree_types.h> #include <linux/spinlock_types_raw.h> -extern int max_lock_depth; /* for sysctl */ - struct rt_mutex_base { raw_spinlock_t wait_lock; struct rb_root_cached waiters; diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index c80902eacd797c669dedcf10966a8cff38524b50..705a0e0fd72ab8da051e4227a5b89cb3d1539524 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c @@ -29,6 +29,29 @@ #include "rtmutex_common.h" #include "lock_events.h" +/* + * Max number of times we'll walk the boosting chain: + */ +static int max_lock_depth = 1024; + +static const struct ctl_table rtmutex_sysctl_table[] = { + { + .procname = "max_lock_depth", + .data = &max_lock_depth, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec, + }, +}; + +static int __init init_rtmutex_sysctl(void) +{ + register_sysctl_init("kernel", rtmutex_sysctl_table); + return 0; +} + +subsys_initcall(init_rtmutex_sysctl); + #ifndef WW_RT # define build_ww_mutex() (false) # define ww_container_of(rtm) NULL diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c index 191e4720e546627aed0d7ec715673b1b8753b130..2b5da8af206da6ee72df1234a4db94f5c4f6f882 100644 --- a/kernel/locking/rtmutex_api.c +++ b/kernel/locking/rtmutex_api.c @@ -8,11 +8,6 @@ #define RT_MUTEX_BUILD_MUTEX #include "rtmutex.c" -/* - * Max number of times we'll walk the boosting chain: - */ -int max_lock_depth = 1024; - /* * Debug aware fast / slowpath lock,trylock,unlock * diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 473133d9651eac4ef44b8b63a44b77189818ac08..a22f35013da0d838ef421fc5d192f00d1e70fb0f 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -59,9 +59,6 @@ #include <asm/nmi.h> #include <asm/io.h> #endif -#ifdef CONFIG_RT_MUTEXES -#include <linux/rtmutex.h> -#endif /* shared constants to be used in various sysctls */ const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 }; @@ -1709,15 +1706,6 @@ static const struct ctl_table kern_table[] = { .proc_handler = proc_dointvec, }, #endif -#ifdef CONFIG_RT_MUTEXES - { - .procname = "max_lock_depth", - .data = &max_lock_depth, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = proc_dointvec, - }, -#endif #ifdef CONFIG_TREE_RCU { .procname = "panic_on_rcu_stall",
Move the max_lock_depth sysctl table element and variable into rtmutex.c. Make the variable static as it no longer needs to be exported. Removed the rtmutex.h include from sysctl.c. This is part of a greater effort to move ctl tables into their respective subsystems which will reduce the merge conflicts in kernel/sysctl.c. Signed-off-by: Joel Granados <joel.granados@kernel.org> --- include/linux/rtmutex.h | 2 -- kernel/locking/rtmutex.c | 23 +++++++++++++++++++++++ kernel/locking/rtmutex_api.c | 5 ----- kernel/sysctl.c | 12 ------------ 4 files changed, 23 insertions(+), 19 deletions(-)