|
@@ -251,6 +251,8 @@ static int min_sched_granularity_ns = 100000; /* 100 usecs */
|
|
static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */
|
|
static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */
|
|
static int min_wakeup_granularity_ns; /* 0 usecs */
|
|
static int min_wakeup_granularity_ns; /* 0 usecs */
|
|
static int max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */
|
|
static int max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */
|
|
|
|
+static int min_sched_tunable_scaling = SCHED_TUNABLESCALING_NONE;
|
|
|
|
+static int max_sched_tunable_scaling = SCHED_TUNABLESCALING_END-1;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
static struct ctl_table kern_table[] = {
|
|
static struct ctl_table kern_table[] = {
|
|
@@ -304,6 +306,18 @@ static struct ctl_table kern_table[] = {
|
|
.mode = 0644,
|
|
.mode = 0644,
|
|
.proc_handler = &proc_dointvec,
|
|
.proc_handler = &proc_dointvec,
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ .ctl_name = CTL_UNNUMBERED,
|
|
|
|
+ .procname = "sched_tunable_scaling",
|
|
|
|
+ .data = &sysctl_sched_tunable_scaling,
|
|
|
|
+ .maxlen = sizeof(enum sched_tunable_scaling),
|
|
|
|
+ .mode = 0644,
|
|
|
|
+ .proc_handler = &proc_dointvec_minmax,
|
|
|
|
+ .strategy = &sysctl_intvec,
|
|
|
|
+ .extra1 = &min_sched_tunable_scaling,
|
|
|
|
+ .extra2 = &max_sched_tunable_scaling,
|
|
|
|
+ },
|
|
|
|
+
|
|
{
|
|
{
|
|
.ctl_name = CTL_UNNUMBERED,
|
|
.ctl_name = CTL_UNNUMBERED,
|
|
.procname = "sched_shares_thresh",
|
|
.procname = "sched_shares_thresh",
|