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

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

Merge "Sched/fair: Improve the scheduler"

parents 9b95007a f66875fb
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -6764,6 +6764,7 @@ static int get_start_cpu(struct task_struct *p)
{
	struct root_domain *rd = cpu_rq(smp_processor_id())->rd;
	int start_cpu = rd->min_cap_orig_cpu;
	int task_boost = per_task_boost(p);
	bool boosted = schedtune_task_boost(p) > 0 ||
			task_boost_policy(p) == SCHED_BOOST_ON_BIG;
	bool task_skip_min = task_skip_min_cpu(p);
@@ -6773,10 +6774,16 @@ static int get_start_cpu(struct task_struct *p)
	 * or just mid will be -1, there never be any other combinations of -1s
	 * beyond these
	 */
	if (task_skip_min || boosted) {
	if (task_skip_min || boosted || task_boost == 1) {
		start_cpu = rd->mid_cap_orig_cpu == -1 ?
			rd->max_cap_orig_cpu : rd->mid_cap_orig_cpu;
	}

	if (task_boost == 2) {
		start_cpu = rd->max_cap_orig_cpu;
		return start_cpu;
	}

	if (start_cpu == -1 || start_cpu == rd->max_cap_orig_cpu)
		return start_cpu;

@@ -7539,7 +7546,8 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu, int sy
	int placement_boost = task_boost_policy(p);
	u64 start_t = 0;
	int delta = 0;
	int boosted = (schedtune_task_boost(p) > 0);
	int boosted = (schedtune_task_boost(p) > 0) ||
				(per_task_boost(p) > 0);
	int start_cpu = get_start_cpu(p);

	if (start_cpu < 0)