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

Skip to content
Commit 22c06a04 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti
Browse files

sched/fair: Allow idle local group to pull tasks from overloaded group



When the local group has idle CPUs and there is no imbalance
within the group, allow pulling the task from an overloaded group
by boosting the imbalance. The boost is needed for scenarios
where busiest group is overloaded but it's avg_load is not much
higher than the local group's avg_load.

For example, local group has 4 smaller capacity CPUs with 1024 as
total capacity and running two CPU intensive (load=1024) tasks.
Its avg_load is 1024. The busiest group has 1 highest capacity CPU
with 1024 as total capacity and running two CPU intensive (load=1024)
tasks. Its avg_load is also 1024. There is no difference in avg_load
between local group and busiest group. But the busiest group is
clearly overloaded.

The imbalance is derived from PELT runnable load average which takes
more time to reflect the full load. Since the group overloaded
condition uses WALT utilization metric, it reflects the full load
faster. So allowing idle load balance to pull more tasks when the
busiest group is overloaded would be beneficial for the performance.

This load balancer behavior is also inline with the current
task placement policy where a BIG task would be placed on the
lower capacity CPU when the higher capacity CPUs are overloaded.

Change-Id: I58ce198f38f6b949a0ef910550ef1a8b2b0528ca
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
parent aacb04a1
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