Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3eddc2a8 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "sched/walt: Improve the scheduler"

parents ca860f45 6a989056
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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,
+2 −1
Original line number Diff line number Diff line
@@ -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;

@@ -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;
+5 −0
Original line number Diff line number Diff line
@@ -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)
{
+9 −0
Original line number Diff line number Diff line
@@ -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
	{