@@ -36,6 +36,10 @@ extern unsigned int sysctl_sched_min_granularity;
extern unsigned int sysctl_sched_wakeup_granularity;
extern unsigned int sysctl_sched_child_runs_first;
+#ifdef CONFIG_SMP
+extern unsigned int sysctl_sched_cc_sum_period;
+#endif
+
enum sched_tunable_scaling {
SCHED_TUNABLESCALING_NONE,
SCHED_TUNABLESCALING_LOG,
@@ -1090,6 +1090,15 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
#endif
+#ifdef CONFIG_SMP
+ {
+ .procname = "sched_cc_sum_period",
+ .data = &sysctl_sched_cc_sum_period,
+ .maxlen = sizeof(sysctl_sched_cc_sum_period),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+#endif
{ }
};
sysctl_sched_cc_sum_period is the CC update period. Make it changable via sysctl tool. In general, the longer this period, the stabler and slower to respond to task concurrency change on this CPU. Signed-off-by: Yuyang Du <yuyang.du@intel.com> --- include/linux/sched/sysctl.h | 4 ++++ kernel/sysctl.c | 9 +++++++++ 2 files changed, 13 insertions(+)