@@ -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;
@@ -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
@@ -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
*
@@ -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(-)