Loading include/linux/sched/sysctl.h +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ extern unsigned int sysctl_sched_ravg_window_nr_ticks; extern unsigned int sysctl_sched_dynamic_ravg_window_enable; extern unsigned int sysctl_sched_prefer_spread; extern unsigned int sysctl_walt_rtg_cfs_boost_prio; extern unsigned int sysctl_walt_low_latency_task_boost; extern int walt_proc_group_thresholds_handler(struct ctl_table *table, int write, Loading kernel/sched/fair.c +2 −1 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ unsigned int sysctl_sched_min_task_util_for_boost = 51; unsigned int sysctl_sched_min_task_util_for_colocation = 35; __read_mostly unsigned int sysctl_sched_prefer_spread; unsigned int sysctl_walt_rtg_cfs_boost_prio = 99; /* disabled by default */ unsigned int sysctl_walt_low_latency_task_boost; /* disabled by default */ #endif unsigned int sched_small_task_threshold = 102; Loading Loading @@ -4136,7 +4137,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) TASK_BOOST_STRICT_MAX) vruntime -= sysctl_sched_latency; #ifdef CONFIG_SCHED_WALT else if (task_of(se)->low_latency || else if (walt_low_latency_task(task_of(se)) || task_rtg_high_prio(task_of(se))) { vruntime -= sysctl_sched_latency; vruntime -= thresh; Loading kernel/sched/sched.h +5 −0 Original line number Diff line number Diff line Loading @@ -2903,6 +2903,11 @@ static inline bool task_rtg_high_prio(struct task_struct *p) (p->prio <= sysctl_walt_rtg_cfs_boost_prio); } static inline bool walt_low_latency_task(struct task_struct *p) { return sysctl_walt_low_latency_task_boost && p->low_latency; } /* Is frequency of two cpus synchronized with each other? */ static inline int same_freq_domain(int src_cpu, int dst_cpu) { Loading kernel/sysctl.c +9 −0 Original line number Diff line number Diff line Loading @@ -579,6 +579,15 @@ static struct ctl_table kern_table[] = { .extra1 = &min_cfs_boost_prio, .extra2 = &max_cfs_boost_prio, }, { .procname = "walt_low_latency_task_boost", .data = &sysctl_walt_low_latency_task_boost, .maxlen = sizeof(unsigned int), .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &zero, .extra2 = &one, }, #endif #ifdef CONFIG_SCHED_DEBUG { Loading Loading
include/linux/sched/sysctl.h +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ extern unsigned int sysctl_sched_ravg_window_nr_ticks; extern unsigned int sysctl_sched_dynamic_ravg_window_enable; extern unsigned int sysctl_sched_prefer_spread; extern unsigned int sysctl_walt_rtg_cfs_boost_prio; extern unsigned int sysctl_walt_low_latency_task_boost; extern int walt_proc_group_thresholds_handler(struct ctl_table *table, int write, Loading
kernel/sched/fair.c +2 −1 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ unsigned int sysctl_sched_min_task_util_for_boost = 51; unsigned int sysctl_sched_min_task_util_for_colocation = 35; __read_mostly unsigned int sysctl_sched_prefer_spread; unsigned int sysctl_walt_rtg_cfs_boost_prio = 99; /* disabled by default */ unsigned int sysctl_walt_low_latency_task_boost; /* disabled by default */ #endif unsigned int sched_small_task_threshold = 102; Loading Loading @@ -4136,7 +4137,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) TASK_BOOST_STRICT_MAX) vruntime -= sysctl_sched_latency; #ifdef CONFIG_SCHED_WALT else if (task_of(se)->low_latency || else if (walt_low_latency_task(task_of(se)) || task_rtg_high_prio(task_of(se))) { vruntime -= sysctl_sched_latency; vruntime -= thresh; Loading
kernel/sched/sched.h +5 −0 Original line number Diff line number Diff line Loading @@ -2903,6 +2903,11 @@ static inline bool task_rtg_high_prio(struct task_struct *p) (p->prio <= sysctl_walt_rtg_cfs_boost_prio); } static inline bool walt_low_latency_task(struct task_struct *p) { return sysctl_walt_low_latency_task_boost && p->low_latency; } /* Is frequency of two cpus synchronized with each other? */ static inline int same_freq_domain(int src_cpu, int dst_cpu) { Loading
kernel/sysctl.c +9 −0 Original line number Diff line number Diff line Loading @@ -579,6 +579,15 @@ static struct ctl_table kern_table[] = { .extra1 = &min_cfs_boost_prio, .extra2 = &max_cfs_boost_prio, }, { .procname = "walt_low_latency_task_boost", .data = &sysctl_walt_low_latency_task_boost, .maxlen = sizeof(unsigned int), .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &zero, .extra2 = &one, }, #endif #ifdef CONFIG_SCHED_DEBUG { Loading