]> git.baikalelectronics.ru Git - kernel.git/commit
sched/fair: Remove update of blocked load from newidle_balance
authorVincent Guittot <vincent.guittot@linaro.org>
Wed, 24 Feb 2021 13:30:01 +0000 (14:30 +0100)
committerIngo Molnar <mingo@kernel.org>
Sat, 6 Mar 2021 11:40:21 +0000 (12:40 +0100)
commitc7af95895b736c4a96933ebcd023f0fe578b5e8a
treeaf21cf82738f035254c460d773bd20f16a42fdf7
parent41a57adaf53b620f24c6f0d69a461020c9ce4056
sched/fair: Remove update of blocked load from newidle_balance

newidle_balance runs with both preempt and irq disabled which prevent
local irq to run during this period. The duration for updating the
blocked load of CPUs varies according to the number of CPU cgroups
with non-decayed load and extends this critical period to an uncontrolled
level.

Remove the update from newidle_balance and trigger a normal ILB that
will take care of the update instead.

This reduces the IRQ latency from O(nr_cgroups * nr_nohz_cpus) to
O(nr_cgroups).

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210224133007.28644-2-vincent.guittot@linaro.org
kernel/sched/fair.c