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.