]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - kernel/sched/core.c
sched/fair: Fix forced idle sibling starvation corner case
authorVineeth Pillai <viremana@linux.microsoft.com>
Tue, 17 Nov 2020 23:19:38 +0000 (18:19 -0500)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 12 May 2021 09:43:29 +0000 (11:43 +0200)
commit8039e96fcc1de30d5bcaf05da9ca2de46a800826
treebb88e1ba8c783a34c54be34b5c33ccc405fac444
parent539f65125d20aacab54d02d77f10a839f45b09dc
sched/fair: Fix forced idle sibling starvation corner case

If there is only one long running local task and the sibling is
forced idle, it  might not get a chance to run until a schedule
event happens on any cpu in the core.

So we check for this condition during a tick to see if a sibling
is starved and then give it a chance to schedule.

Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Don Hiatt <dhiatt@digitalocean.com>
Tested-by: Hongyu Ning <hongyu.ning@linux.intel.com>
Tested-by: Vincent Guittot <vincent.guittot@linaro.org>
Link: https://lkml.kernel.org/r/20210422123308.617407840@infradead.org
kernel/sched/core.c
kernel/sched/fair.c
kernel/sched/sched.h