Re: [PATCHSET RFC] sched: Implement BPF extensible scheduler class

From: Peter Zijlstra
Date: Mon Dec 12 2022 - 04:38:40 EST


On Tue, Nov 29, 2022 at 10:22:42PM -1000, Tejun Heo wrote:

> Core scheduling is an example of a feature that took a significant amount of
> time and effort to integrate into the kernel.

Mostly because I dropped it on the floor once I heard about MDS. That
made me lose interest entirely. The only reason it eventually happened
was ChromeOS (Joel) pushing for it again.

> Part of the difficulty with core
> scheduling was the inherent mismatch in abstraction between the desire to
> perform core-wide scheduling, and the per-cpu design of the kernel scheduler.

Not really; the main difficultly was due to me wanting to do it outside
of the scheduling classes so that it fundamentally covers all of them.

Doing it inside a class (say CFS) would've made it significantly simpler.

> This caused issues, for example ensuring proper fairness between the
> independent runqueues of SMT siblings.

Inter-runqueue fairness is a known issue of CFS and quite independent of
core scheduling.


Anyway, I hate all of this. Linus NAK'ed loadable schedulers a number of
times in the past and this is just that again -- with the extra downside
of the whole BPF thing on top :/

You look to be exposing a ton of stuff I've so far even refused
tracepoints for :-(

Anyway, I'm just back from a heavy dose of Covid and still taking it
easy, but I'll go read through the whole thing, hopefully I'll finish
before vanishing again for the x-mas break.