Zásadní posun ve správě zdrojů jádra Linuxu v roce 2025 otřásá světem operačních systémů, zejména pro uživatele s jednojádrovými procesory. Na rozdíl od dob, kdy byly jednojádrové systémy normou, se technologická krajina dramaticky změnila. Dnes mají i starší počítače s procesory Intel Celeron nebo AMD, které byly kdysi považovány za zastaralé, alespoň dvě fyzická jádra. Řada záplat, které nedávno vydal tým vývojářů jádra, si klade za cíl zjednodušit kód plánovače pro tyto vzácné konfigurace a zároveň integrovat vylepšenou kompatibilitu s architekturou Symmetric Multi-Processing (SMP). Tyto změny, i když se na první pohled zdají být drobné, ve skutečnosti vyvolávají zásadní otázky týkající se výkonu, údržby a dlouhodobé kompatibility, zejména vzhledem k rostoucí popularitě linuxových distribucí, jako jsou Ubuntu, Debian, Fedora, Arch Linux a Manjaro.
Přizpůsobení plánovače Linuxu jednojádrovým konfiguracím: výzvy a technické problémy
Plánovač v Linuxu byl tradičně navržen tak, aby plně využíval výkon více jader a upřednostňoval optimální distribuci úloh mezi více procesorů. To však ne vždy platilo pro uživatele s jednojádrovými systémy, ať už kvůli problémům s kompatibilitou, obavám o cenu nebo potřebám specializovaných zařízení, jako jsou některé vestavěné systémy s OpenSUSE nebo CentOS. V důsledku toho se většina testovacích a optimalizačních snah zaměřovala na jednojádrové architektury (SMP) a zanedbávala konfigurace, kde je aktivní pouze jedno jádro. Tato zařízení však zůstávají rozšířená v určitých průmyslových odvětvích, zejména v oblasti internetu věcí nebo u starší zemědělské techniky, nemluvě o starších systémech s Debianem nebo Mint Linuxem.
Hlavní problém spočívá ve složitosti kódu a obtížích, které vytváří při údržbě a vývoji. Série záplat řeší právě tento problém: snížení složitosti standardizací plánovacího kódu v jediném režimu, SMP, a to i pro jednojádrové systémy. Takový přístup však s sebou nese značné technické výzvy. Například z hlediska procesoru musí přechod z SMP na jednojádrový režim zajistit, aby se všechny optimalizace související se správou více jader nestaly úzkými hrdly jednoduché architektury. Naopak je zásadní vyhnout se zbytečnému zahlcení kódu zachováním inferencí pro Siam v jednojádrovém kontextu. Tyto úpravy vyžadují kompletní revizi, která se opírá zejména o 43 nových záplat, zaměřených na standardizaci chování a zároveň na zajištění optimální kompatibility s populárními distribucemi, jako jsou Fedora a CentOS 8.
Praktické důsledky záplat plánovače pro jednojádrové linuxové systémy
Z této nové strategie sjednocení kódu vyplývá několik provozních důsledků. Zaprvé, dochází ke strukturálnímu zjednodušení s drastickým snížením počtu podmíněných bloků propojených s makrem. CONFIG_SMPkterý donedávna obsahoval přibližně 175 sekcí ve zdrojovém kódu plánovače. To výrazně snižuje zátěž vývojářů spojenou s údržbou a zároveň usnadňuje detekci chyb a integraci nových funkcí. Druhý aspekt se týká budoucí kompatibility s jednojádrovými architekturami, zejména těmi, které pohánějí určité vestavěné systémy s OpenSUSE nebo mikropočítače s Mint Linuxem, které budou i nadále těžit ze zlepšení výkonu díky optimalizované správě úloh.
| Technický aspekt | Před opravami | Po opravách |
|---|---|---|
| Počet podmíněných sekcí | sto sedmdesát pět | Redukováno na jednu strukturu |
| Složitost kódu | Zvýšeno s duplikacemi pro UP a SMP | Standardizované, zjednodušené |
| Výkon na UP | Významné režijní náklady v důsledku nevyužitého SMP kódu | Potenciální zlepšení díky redukci přebytečných prvků |
| Údržba | Obtížné kvůli duplicitě | Snadnější a rychlejší vývoj |