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

Commit d0a6a9b7 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti Committed by Gerrit - the friendly Code Review server
Browse files

sched/walt: Improve the scheduler



This change is for general scheduler improvements.

Change-Id: I5f19453ec1a19c71d67a02c3f0ec9967e7673a4b
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: fix trivial merge conflicts]
Signed-off-by: default avatarSatya Durga Srinivasu Prabhala <satyap@codeaurora.org>
parent b1250b5c
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -6499,7 +6499,6 @@ enum fastpaths {
	NONE = 0,
	SYNC_WAKEUP,
	PREV_CPU_FASTPATH,
	MANY_WAKEUP,
};

static void walt_find_best_target(struct sched_domain *sd, cpumask_t *cpus,
@@ -6950,6 +6949,9 @@ int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu,
	bool boosted = is_uclamp_boosted || (task_boost > 0);
	int start_cpu, order_index, end_index;

	if (walt_is_many_wakeup(sibling_count_hint) && prev_cpu != cpu &&
			cpumask_test_cpu(prev_cpu, &p->cpus_mask))
		return prev_cpu;

	if (unlikely(!cpu_array))
		goto eas_not_ready;
@@ -6979,13 +6981,6 @@ int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu,
		goto done;
	}

	if (walt_is_many_wakeup(sibling_count_hint) && prev_cpu != cpu &&
				bias_to_this_cpu(p, prev_cpu, start_cpu)) {
		best_energy_cpu = prev_cpu;
		fbt_env.fastpath = MANY_WAKEUP;
		goto done;
	}

	rcu_read_lock();
	pd = rcu_dereference(rd->pd);
	if (!pd)