|
@@ -206,7 +206,87 @@ static ctl_table root_table[] = {
|
|
|
{ .ctl_name = 0 }
|
|
|
};
|
|
|
|
|
|
+#ifdef CONFIG_SCHED_DEBUG
|
|
|
+static unsigned long min_sched_granularity_ns = 100000; /* 100 usecs */
|
|
|
+static unsigned long max_sched_granularity_ns = 1000000000; /* 1 second */
|
|
|
+static unsigned long min_wakeup_granularity_ns; /* 0 usecs */
|
|
|
+static unsigned long max_wakeup_granularity_ns = 1000000000; /* 1 second */
|
|
|
+#endif
|
|
|
+
|
|
|
static ctl_table kern_table[] = {
|
|
|
+#ifdef CONFIG_SCHED_DEBUG
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_granularity_ns",
|
|
|
+ .data = &sysctl_sched_granularity,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec_minmax,
|
|
|
+ .strategy = &sysctl_intvec,
|
|
|
+ .extra1 = &min_sched_granularity_ns,
|
|
|
+ .extra2 = &max_sched_granularity_ns,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_wakeup_granularity_ns",
|
|
|
+ .data = &sysctl_sched_wakeup_granularity,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec_minmax,
|
|
|
+ .strategy = &sysctl_intvec,
|
|
|
+ .extra1 = &min_wakeup_granularity_ns,
|
|
|
+ .extra2 = &max_wakeup_granularity_ns,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_batch_wakeup_granularity_ns",
|
|
|
+ .data = &sysctl_sched_batch_wakeup_granularity,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec_minmax,
|
|
|
+ .strategy = &sysctl_intvec,
|
|
|
+ .extra1 = &min_wakeup_granularity_ns,
|
|
|
+ .extra2 = &max_wakeup_granularity_ns,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_stat_granularity_ns",
|
|
|
+ .data = &sysctl_sched_stat_granularity,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec_minmax,
|
|
|
+ .strategy = &sysctl_intvec,
|
|
|
+ .extra1 = &min_wakeup_granularity_ns,
|
|
|
+ .extra2 = &max_wakeup_granularity_ns,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_runtime_limit_ns",
|
|
|
+ .data = &sysctl_sched_runtime_limit,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec_minmax,
|
|
|
+ .strategy = &sysctl_intvec,
|
|
|
+ .extra1 = &min_sched_granularity_ns,
|
|
|
+ .extra2 = &max_sched_granularity_ns,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_child_runs_first",
|
|
|
+ .data = &sysctl_sched_child_runs_first,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
+ .procname = "sched_features",
|
|
|
+ .data = &sysctl_sched_features,
|
|
|
+ .maxlen = sizeof(unsigned int),
|
|
|
+ .mode = 0644,
|
|
|
+ .proc_handler = &proc_dointvec,
|
|
|
+ },
|
|
|
+#endif
|
|
|
{
|
|
|
.ctl_name = KERN_PANIC,
|
|
|
.procname = "panic",
|