Merge "sched/walt: Improve the scheduler"

This commit is contained in:
qctecmdr 2020-09-11 11:35:49 -07:00 • committed by Gerrit - the friendly Code Review server
commit d855fd065f
5 changed files with 8 additions and 7 deletions

View file

@ -56,7 +56,7 @@ extern unsigned int __weak sysctl_sched_many_wakeup_threshold;
extern unsigned int __weak 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 unsigned int sysctl_walt_low_latency_task_threshold;
extern int
walt_proc_group_thresholds_handler(struct ctl_table *table, int write,

View file

@ -1052,7 +1052,7 @@ TRACE_EVENT(sched_task_util,
__entry->cpus_allowed =
cpumask_bits(&p->cpus_mask)[0];
__entry->task_boost = per_task_boost(p);
__entry->low_latency = p->wts.low_latency;
__entry->low_latency = walt_low_latency_task(p);
),
TP_printk("pid=%d comm=%s util=%lu prev_cpu=%d candidates=%#lx best_energy_cpu=%d sync=%d need_idle=%d fastpath=%d placement_boost=%d latency=%llu stune_boosted=%d is_rtg=%d rtg_skip_min=%d start_cpu=%d unfilter=%u affinity=%lx task_boost=%d low_latency=%d",

View file

@ -135,7 +135,7 @@ unsigned int sched_capacity_margin_down[NR_CPUS] = {
#ifdef CONFIG_SCHED_WALT
__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 */
unsigned int sysctl_walt_low_latency_task_threshold; /* disabled by default */
#endif
unsigned int sched_small_task_threshold = 102;

View file

@ -3006,7 +3006,8 @@ static inline struct walt_related_thread_group
static inline bool walt_low_latency_task(struct task_struct *p)
{
return sysctl_walt_low_latency_task_boost && p->wts.low_latency;
return p->wts.low_latency &&
(task_util(p) < sysctl_walt_low_latency_task_threshold);
}
/* Is frequency of two cpus synchronized with each other? */

View file

@ -564,13 +564,13 @@ static struct ctl_table kern_table[] = {
.extra2 = &max_cfs_boost_prio,
},
{
.procname = "walt_low_latency_task_boost",
.data = &sysctl_walt_low_latency_task_boost,
.procname = "walt_low_latency_task_threshold",
.data = &sysctl_walt_low_latency_task_threshold,
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
.extra2 = &one_thousand,
},
#endif
#ifdef CONFIG_SCHED_DEBUG