All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] sched: move cfs_bandwidth_slice sysctls to fair.c
@ 2022-02-11  7:05 Zhen Ni
  0 siblings, 0 replies; only message in thread
From: Zhen Ni @ 2022-02-11  7:05 UTC (permalink / raw)
  To: mingo, peterz, juri.lelli, vincent.guittot, dietmar.eggemann,
	rostedt, bsegall, mgorman, bristot, mcgrof, keescook, yzaikin
  Cc: linux-kernel, linux-fsdevel, Zhen Ni

move cfs_bandwidth_slice sysctls to fair.c and use the
new register_sysctl_init() to register the sysctl interface.

Signed-off-by: Zhen Ni <nizhen@uniontech.com>
---
 include/linux/sched/sysctl.h |  4 ----
 kernel/sched/fair.c          | 27 +++++++++++++++++++++++++--
 kernel/sysctl.c              | 10 ----------
 3 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
index c19dd5a2c05c..d416d8f45186 100644
--- a/include/linux/sched/sysctl.h
+++ b/include/linux/sched/sysctl.h
@@ -41,10 +41,6 @@ extern unsigned int sysctl_sched_uclamp_util_max;
 extern unsigned int sysctl_sched_uclamp_util_min_rt_default;
 #endif
 
-#ifdef CONFIG_CFS_BANDWIDTH
-extern unsigned int sysctl_sched_cfs_bandwidth_slice;
-#endif
-
 #ifdef CONFIG_SCHED_AUTOGROUP
 extern unsigned int sysctl_sched_autogroup_enabled;
 #endif
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 5146163bfabb..50ee00163800 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -141,8 +141,30 @@ int __weak arch_asym_cpu_priority(int cpu)
  *
  * (default: 5 msec, units: microseconds)
  */
-unsigned int sysctl_sched_cfs_bandwidth_slice		= 5000UL;
-#endif
+static unsigned int sysctl_sched_cfs_bandwidth_slice		= 5000UL;
+#ifdef CONFIG_SYSCTL
+static struct ctl_table sched_cfs_bandwidth_sysctls[] = {
+	{
+		.procname       = "sched_cfs_bandwidth_slice_us",
+		.data           = &sysctl_sched_cfs_bandwidth_slice,
+		.maxlen         = sizeof(unsigned int),
+		.mode           = 0644,
+		.proc_handler   = proc_dointvec_minmax,
+		.extra1         = SYSCTL_ONE,
+	},
+	{}
+};
+
+static void __init sched_cfs_bandwidth_sysctl_init(void)
+{
+	register_sysctl_init("kernel", sched_cfs_bandwidth_sysctls);
+}
+#else /* !CONFIG_SYSCTL */
+#define sched_cfs_bandwidth_sysctl_init() do { } while (0)
+#endif /* CONFIG_SYSCTL */
+#else /* !CONFIG_CFS_BANDWIDTH */
+#define sched_cfs_bandwidth_sysctl_init() do { } while (0)
+#endif /* CONFIG_CFS_BANDWIDTH */
 
 static inline void update_load_add(struct load_weight *lw, unsigned long inc)
 {
@@ -207,6 +229,7 @@ static void update_sysctl(void)
 void __init sched_init_granularity(void)
 {
 	update_sysctl();
+	sched_cfs_bandwidth_sysctl_init();
 }
 
 #define WMULT_CONST	(~0U)
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 5ae443b2882e..981a1902d7a4 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1761,16 +1761,6 @@ static struct ctl_table kern_table[] = {
 		.extra2		= SYSCTL_ONE,
 	},
 #endif
-#ifdef CONFIG_CFS_BANDWIDTH
-	{
-		.procname	= "sched_cfs_bandwidth_slice_us",
-		.data		= &sysctl_sched_cfs_bandwidth_slice,
-		.maxlen		= sizeof(unsigned int),
-		.mode		= 0644,
-		.proc_handler	= proc_dointvec_minmax,
-		.extra1		= SYSCTL_ONE,
-	},
-#endif
 #if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
 	{
 		.procname	= "sched_energy_aware",
-- 
2.20.1




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-11  7:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-11  7:05 [PATCH v3] sched: move cfs_bandwidth_slice sysctls to fair.c Zhen Ni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.