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

Commit cf0babd0 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti
Browse files

sched/fair: Fix task placement issue under sched boost conditions



When placement boost is active for a task on a big little system,
task_fits_max() should return false for any CPU that does not belong
to the highest capacity cluster. This is done to limit the CPU search
only to the highest capacity cluster. However when highest capacity
cluster's cpufreq policy max is trimmed, the task_fits_max() is
returning false for all clusters. Due to this the task is placed on
the previous CPU which is resulting in suboptimal performance.

The problem lies in update_cpu_capacity() where cpu_orig_capacity
and max_cpu_capacity.val are updated. These two quantities are
out of sync when cpufreq policy max is trimmed. Make cpu_orig_capacity
reflect the trimmed policy max and update max_cpu_capacity.val to
the highest cpu_orig_capacity among all CPUs.

Change-Id: Ib7ebdf2e7dfb5ec4d018dc76325d5dba8b26ad01
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
parent 21767251
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment