sched/walt: handle overlap between silver and gold

When a task is being placed on silver and is not a filtered task and is
not a small task, look for a gold for this task.

Change-Id: Ic6f5a047e4f25c66f4b7be1f0b48ca49a2c5aa50
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
This commit is contained in:
Abhijeet Dharmapurikar 2021-05-04 12:26:03 -07:00 committed by Rishabh Bhatnagar
parent 11d8a97073
commit 04f5df4cba

View File

@ -113,6 +113,7 @@ static inline bool walt_target_ok(int target_cpu, int order_index)
(target_cpu == cpumask_first(&cpu_array[order_index][0])));
}
#define MIN_UTIL_FOR_ENERGY_EVAL 10
static void walt_get_indicies(struct task_struct *p, int *order_index,
int *end_index, int task_boost, bool uclamp_boost)
{
@ -148,6 +149,13 @@ static void walt_get_indicies(struct task_struct *p, int *order_index,
}
*order_index = i;
if (*order_index == 0 &&
(task_util(p) >= MIN_UTIL_FOR_ENERGY_EVAL) &&
!walt_get_rtg_status(p) &&
!(sched_boost_type == CONSERVATIVE_BOOST && task_sched_boost(p))
)
*end_index = 1;
}
enum fastpaths {