sched/fair: fix case with reduced capacity CPU
authorVincent Guittot <vincent.guittot@linaro.org>
Fri, 8 Jul 2022 15:44:01 +0000 (17:44 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 13 Jul 2022 09:29:17 +0000 (11:29 +0200)
commitc82a69629c53eda5233f13fc11c3c01585ef48a2
tree06f3a81fe21743732aa1d1f7539980808ba7baaa
parentc02d5546ea34d589c83eda5055dbd727a396642b
sched/fair: fix case with reduced capacity CPU

The capacity of the CPU available for CFS tasks can be reduced because of
other activities running on the latter. In such case, it's worth trying to
move CFS tasks on a CPU with more available capacity.

The rework of the load balance has filtered the case when the CPU is
classified to be fully busy but its capacity is reduced.

Check if CPU's capacity is reduced while gathering load balance statistic
and classify it group_misfit_task instead of group_fully_busy so we can
try to move the load on another CPU.

Reported-by: David Chen <david.chen@nutanix.com>
Reported-by: Zhang Qiao <zhangqiao22@huawei.com>
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: David Chen <david.chen@nutanix.com>
Tested-by: Zhang Qiao <zhangqiao22@huawei.com>
Link: https://lkml.kernel.org/r/20220708154401.21411-1-vincent.guittot@linaro.org
kernel/sched/fair.c