A Linux 7.1 kernel fejlesztési ciklusában tovább fejlődik a sched_ext, vagyis az a kernelbeli ütemezőosztály, amelynél a futtatási logika BPF programokkal írható le. A napokban beolvasztásra került fejlesztési csomag a későbbi bővítések alapjait rakja le: a cgroupokhoz köthető többes ütemezői modell előkészítése mellett az idle CPU kiválasztása és a sorba állítás késleltetésének kezelése is pontosabbá válik.
Tartalomjegyzék

Hierarchikus ütemezői felépítést készít elő a sched_ext legújabb fejlesztése
A fejlesztési csomag egyik legfontosabb része a cgroup sub-scheduler támogatás alapjainak lefektetése. Ennek célja, hogy a cgroup-hierarchiában ne csak egyetlen BPF-alapú ütemező működhessen, hanem több, egymás mellett dolgozó ütemező is megjelenhessen, így a rendszer eltérő terhelései külön logikát kaphassanak. Ehhez a fejlesztők hierarchikussá tették a dispatch útvonalat, és átrendezték a belső dispatch, bypass, watchdog és dump részeket úgy, hogy azok ütemezőnként külön kezelhetők legyenek. A csomag új infrastruktúrát is ad az ütemezői jogosultságok kikényszerítéséhez, az életciklus-kezeléshez és a cgroup-részfák bejárásához, az enqueue útvonal viszont még nem készült el teljesen, az egy későbbi csomag részét fogja képezni.
Új idle CPU-választási sorrendet kap a sched_ext a kernelben
A csomag másik fontos eleme, hogy a sched_ext idle CPU-választási útvonala mostantól előnyben részesíti az üres SMT testvérszálat. Az új logika szerint a rendszer először az előzőleg használt mag szabad SMT testvérszálát próbálja kiválasztani, és csak ha ilyen nincs, akkor keres ugyanahhoz az utolsó szintű gyorsítótárhoz tartozó másik CPU-t, majd azonos NUMA-csomópontban lévő üres processzort, végül bármely másik szabad CPU-t. Ez a fejlesztés egyes beszámolók szerint nagyobb SMT-konfigurációkon CPU-igényes terhelés alatt rendre 2–3 százalékos teljesítménynövekedést hozott. Ugyanebben a csomagban megjelent egy olyan módosítás is, amely szorosabb kontrollt ad az ütemezőknek a sorba állítási késleltetés felett, emellett dokumentációs, önellenőrzési és hibajavító fejlesztések is bekerült.
