sched/fair: Commit to lag based placement
authorPeter Zijlstra <peterz@infradead.org>
Wed, 31 May 2023 11:58:45 +0000 (13:58 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 19 Jul 2023 07:43:58 +0000 (09:43 +0200)
commit76cae9dbe185b82aeb0640aa2b73da4a8e0088ce
tree31b087fdccbbdf25f12b998228fdf4ff7d40af40
parent147f3efaa24182a21706bca15eab2f3f4630b5fe
sched/fair: Commit to lag based placement

Removes the FAIR_SLEEPERS code in favour of the new LAG based
placement.

Specifically, the whole FAIR_SLEEPER thing was a very crude
approximation to make up for the lack of lag based placement,
specifically the 'service owed' part. This is important for things
like 'starve' and 'hackbench'.

One side effect of FAIR_SLEEPER is that it caused 'small' unfairness,
specifically, by always ignoring up-to 'thresh' sleeptime it would
have a 50%/50% time distribution for a 50% sleeper vs a 100% runner,
while strictly speaking this should (of course) result in a 33%/67%
split (as CFS will also do if the sleep period exceeds 'thresh').

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230531124604.000198861@infradead.org
kernel/sched/fair.c
kernel/sched/features.h