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:
Pavankumar Kondeti <pkondeti@codeaurora.org>
Loading
Please register or sign in to comment