Con Kolivas obnovil záplaty -ck pro Linux a snadnější údržbu připisuje jazykovým modelům
Con Kolivas oznámil linux-7.2-ck1, první stabilní vydání své sady záplat mimo hlavní řadu jádra po letech ticha. Sada nahrazuje plánovač procesů vlastním MuQSS a míří na odezvu desktopu a her. Za tím, že se k práci vrátil, stojí podle něj jazykové modely, které mu usnadnily slučování s novými verzemi jádra.

Do konference linux-kernel dorazila 17. srpna 2026 ve 2:32 UTC zpráva s předmětem, který se tam roky neobjevil: [ANNOUNCE] linux-7.2-ck1. Odesílatelem je Con Kolivas, anesteziolog z Melbourne, kterého linuxová obec zná jako autora plánovačů procesů, jež do hlavní řady jádra nikdy nemířily a taky se tam nedostaly.
Sada, která vyměňuje plánovač celý
Plánovač rozhoduje, která úloha poběží na kterém jádru procesoru a jak dlouho. V hlavní řadě se ladí hlavně na propustnost, tedy aby stroj co nejvíc spočítal; Kolivas ho léta ladil na opačný konec – aby člověk u počítače nepoznal, že se na pozadí něco děje. V oznámení to shrnuje jako odezvu, interaktivitu a hry na desktopu a mobilních zařízeních. Sada -ck to dělá hlavně tím, že plánovač v jádře vymění celý, en bloc.
Ten jeho se jmenuje MuQSS, tedy MultiQueue Skiplist Scheduler. Vyrostl z plánovače BFS, který Kolivas zveřejnil v srpnu 2009 jako protiváhu tehdejšího CFS z hlavní řady. Podle anglické Wikipedie stavěl už BFS na algoritmu EEVDF a v roce 2016 v něm autor vyměnil obousměrný seznam za skip list – datovou strukturu s několika patry ukazatelů, ve které se hledá rychleji než v prostém seznamu. Verze přiložená k 7.2-ck1 je 0.310; tak ji uvádí titulek na autorově blogu, seznam záplat v oznámení píše 0.31.
Co se v 7.2-ck1 změnilo
Kolivas u nových věcí sám píše, že je plánoval před lety a nikdy se k nim nedostal:
- Plánování si nově všímá vstupu a výstupu: čtení a zápisy se připíšou té úloze, která je vyvolala.
- Práce, kterou za úlohu odvede jaderné vlákno, se počítá zpátky té úloze.
- Vyvažování zátěže bere ohled na jádra P a E, tedy na dělení dnešních procesorů na výkonná a úsporná jádra.
- Struktura skip listu se zmenšila a přibyly drobné optimalizace.
- Zbytek je „matka všech resynchronizací“ na jádro 7.2 a řada oprav chyb.
Vedle plánovače sahá sada i na časovače. Výchozí frekvenci systémového přerušení sráží na 100 Hz, granularitu hrtimeru a nejkratší časový limit vystavuje v sysctl s výchozími hodnotami 100 µs a 500 µs a řadu volání schedule_timeout převádí na varianty s vysokým rozlišením. Preemptivní jádro, tedy takové, jehož běh smí přerušit jiná úloha, je nově výchozí volba; volba nohz_full se naopak do výchozí konfigurace nebere a zůstalo u ní jen doporučení v nápovědě.
Skupiny cgroup bere plánovač dál jen naoko: jsou to prázdné funkce, které nic neudělají. Kolivas píše, že se v cílových prostředích skoro nepoužívá a její doplnění by znamenalo obrovské množství kódu. Oznámení a blog se přitom v detailech rozcházejí: blog uvádí navíc, že ze sady vypadly irqthreads, protože na pracovních stanicích byly čistou ztrátou, a naopak v něm chybí zmínka o EEVDF a o vyvažování mezi jádry P a E, kterou nese zpráva do konference.
Důvodem návratu jsou podle autora jazykové modely
Nejzajímavější věta oznámení se plánovače netýká. „Je to deset let, co jsem sadu původně opustil kvůli času, ale jazykové modely udělaly slučování a vývoj nekonečně snazší,“ píše Kolivas (přeloženo). Sada záplat mimo hlavní řadu má totiž vlastnost, kterou nic v jádře nemá: s každou novou verzí se musí znovu naroubovat na kód, který se mezitím pohnul. Právě to je ta „matka všech resynchronizací“ ze seznamu změn a právě to dělal autor dřív ručně.
Údaj o deseti letech sedí na dobu, kdy práci fakticky odložil, ne na poslední oznámení. V archivu konference je jeho předchozí zpráva o vydání linux-5.10-ck1 datovaná 3. ledna 2021, tedy pět a půl roku zpátky.
Corbet se ptá na sched_ext
Veřejná odpověď přišla za necelý den jediná, zato od Jonathana Corbeta, šéfredaktora LWN.net a správce dokumentace jádra. Ptá se, jestli Kolivas zvažoval přesunout práci do sched_ext: „Okamžitě by to bylo mnohem dostupnější pro lidi, kteří si to chtějí vyzkoušet a opravdu používat,“ (přeloženo).
sched_ext je rozšiřitelná třída plánovače: dovoluje napsat plánovací algoritmus jako program v BPF a nahrát ho do běžícího jádra. První část se do hlavní řady dostala v Linuxu 6.12 spolu s dokončeným přechodem na EEVDF a dokumentace jádra 7.2 ji vede jako Extensible Scheduler Class. Praktický rozdíl proti sadě -ck je v tom, že uživatel nemusí překládat vlastní jádro. Kolivas do uzávěrky tohoto textu veřejně neodpověděl – v oznámení ovšem sám požádal, aby se případná diskuse vedla mimo konferenci.
Kde se to dá vzít
Kód je na GitHubu ve větvi 7.2-ck pod značkou v7.2-ck1 a autor ho drží modulárně, aby se dal přenášet na další verze jádra. Fork jádra měl 17. srpna 2026 sto dvacet dva hvězd a šest odvozených kopií. Do hlavní řady kód nemíří, což oznámení říká hned první větou – a to i teď, kdy hlavní řada s jádrem 7.2 vyšla jen o tři hodiny dřív.
Jak si MuQSS vede na dnešním hardwaru, zatím nikdo nezveřejnil. Bez čísel je zrychlená odezva zatím tvrzením autora. Phoronix měření ohlásil.
Zdroje
- [ANNOUNCE] linux-7.2-ck1, MuQSS CPU scheduler for linux-7.2 (17. srpna 2026, konference linux-kernel)
- -ck hacking: Linux-7.2-ck1, MuQSS v0.310 for linux 7.2 (17. srpna 2026)
- GitHub: vydání linux-7.2-ck1 se seznamem záplat
- Odpověď Jonathana Corbeta v konferenci linux-kernel (17. srpna 2026)
- Phoronix: Con Kolivas Revives „-ck“ Patches & MuQSS To Improve Linux Desktop Responsiveness (17. srpna 2026)
- Kernel Newbies: Linux 6.12 – sched_ext a dokončení přechodu na EEVDF
- Wikipedia: Brain Fuck Scheduler a Con Kolivas