Re: [REGRESSION] sched/fair: Reimplement NEXT_BUDDY to align with EEVDF goals

From: Ryan Roberts

Date: Mon Jan 12 2026 - 05:27:11 EST


On 12/01/2026 09:57, Peter Zijlstra wrote:
> On Mon, Jan 12, 2026 at 08:52:17AM +0000, Ryan Roberts wrote:
>> On 12/01/2026 07:47, Peter Zijlstra wrote:
>>> On Fri, Jan 09, 2026 at 10:15:46AM +0000, Ryan Roberts wrote:
>>>
>>>> Here are the updated results, now including column for "revert #1 & #2".
>>>>
>>>> 6-18-0 (base) (baseline)
>>>> 6-19-0-rc1 (New NEXT_BUDDY implementation enabled)
>>>> revert #1 & #2 (NEXT_BUDDY disabled)
>>>> revert #2 (Old NEXT_BUDDY implementation enabled)
>>>>
>>>>
>>>> The regressions that are fixed by "revert #2" (as originally reported) are still
>>>> fixed in "revert #1 & #2". Interestingly, performance actually improves further
>>>> for the latter in the multi-node mysql benchmark (which is our VIP workload).
>>>> There are a couple of hackbench cases (sockets with high thread counts) that
>>>> showed an improvement with "revert #2" but which is gone with "revert #1 & #2".
>>>>
>>>> Let me know if I can usefully do anything else.
>>>
>>> If its not too much bother, could you run 6.19-rc with SCHED_BATCH ? The
>>> defining characteristic of BATCH is that it fully ignores wakeup
>>> preemption.
>>
>> Is there a way I can force all future tasks to use SCHED_BATCH at the system
>> level? (a Kconfig, cmdline arg or sysfs toggle?) If so that would be simple for
>> me to do. But if I need to invoke the top level command with chrt -b and hope
>> that nothing in the workload explicitly changes the scheduling policy that would
>> be both trickier for me to do and (I guess) higher risk that it ends up not
>> doing what I expected. Happy to give whatever you recommend a try...
>
> No fancy things here, chrt/schedtool are it.

OK I'll figure out how to butcher this into my workflow and get back to you with
results. It probably won't be until Wednesday though.

Thanks,
Ryan