Grafický kód jádra větší o 500 tisíc řádků
Jako prakticky každé nové jádro od doby, kdy jsme si zvykli na pojem graphics processing unit, zkráceně GPU, i Linux 5.19 přinese velký balík aktualizací podpory právě pro GPU, resp. grafické a z nich odvozené karty, případně integrovaná grafická jádra v procesorech či SoC. Tentokrát jde o balík poměrně masivní, zvící dobrého půl miliónu řádků zdrojového kódu, z nějž je samozřejmě významná část automaticky generovaná.
Přesněji řečeno, pull request v rámci DRM subsystému jádra zahrnuje 1302 změněných souborů, 32 019 smazaných řádků a 495 793 nových řádků zdrojového kódu. Z toho nejviditelnějšího jde o části implementující či vylepšující implementaci podpory pro nadcházející Intel Arc Graphics, známou též jako DG2/Alchemist, počáteční prvky podpory další generace iGPU v procesorech Intel Raptor Lake a na straně AMD pak prvky podpory pro next-gen CDNA Instinct a také příští velké Radeony RX 7×xx, tedy architektonickou generaci RDNA3. AMD dále zavádí podporu pro nové IP bloky jako SMU 13.X či SOC21.
Jinak podpora grafických produktů AMD už prolamuje velikost 4 miliónů řádků zdrojového kódu, za což může zejména právě RDNA3. Intel vedle výše uvedeného přidává například DisplayPort HDR pro starší platformu Haswell (a samozřejmě všechny novější) a další kód pro lepené mnohočipletové Xeony rodiny Ponte Vecchio.
I další hráči se činili, například ovladač Qualcomm MSM DRM přidává podporu embedded DisplayPortu, pro DXL ovladač je zde podpora platformy AArch64, Sun4i ovladač zase přidává podporu Allwinner D1, DisplayPort umí i ovladač ASpeed AST driver, nechybí podpora MediaTek MT8186 či Rockchip VOP2 a mnoho dalšího.
Jde o hodně velký pull request, který je nyní už v LKML a záleží na Linusovi, jaký bude jeho osud (předpokládejme, že pokud nebude spokojen hned, vše bude doladěno tak, aby výše uvedené bylo plně funkční s vydáním Linuxu 5.19).
Mnohá vylepšení na poli správy napájení
S jádrem 5.19 přijdou mnohé další optimalizace řízení provozních parametrů jak pro ARMy, tak pro Intel (a další). U Intelu se můžeme těšit na ovladač, o kterém jsme již v minulosti psali, tedy Run-Time Average Power Limiting (RAPL), který nově bude podporovat generace procesorů Raptor Lake a Alder Lake N. Alder Lake jako takový pak čeká podpora v ovladači Intel Idle . Dále pak Intel zapracoval na ovladači P-Strate, který nyní korektně nakládá s invariancemi frekvencí, když je vypnut Turbo režim za použití sysfs
rozhraní /sys/devices/system/cpu/intel_pstate/no_turbo
. Tento ovladač také dostává podporu módu Out-of-Band (OOB) pro Xeony rodiny Sapphire Rapids.
Linaro vedlo vývoj oprav zbytečných aktualizací frekvencí reportovaných některými kusy hardwaru, kdy například hodnota zobrazovaná uživateli neustále oscilovala mezi 499 a 500 MHz kvůli tomu, že frekvence zanedbatelně kolísala někde uprostřed mezi těmito hodnotami. Patch nyní zajišťuje, že cokoli pod 1 MHz bude ignorováno.
Přepsání ACPI tabulky nově přežívá proces hibernace (plus do ACPI míří další vylepšení jako třeba podpora Microsoft Windows 11 _OSI string), podpora škálování CPU je přidává do pasivního správce devfreq
, ARM vedl práce na vylepšení Energy Modelu, vylepšení pro řízení provozní teploty a situace s přehříváním pak zamířily do ovladače Intel PCH – notebooky už by se tak neměly přehřívat/baštit akumulátor, když se snaží uspat. Podrobnosti v příslušném pull requestu.
Dvě klíčová vylepšení: AMD SEV-SNP a Intel TDX
Do jádra míří podpora dvou vlastností procesorů Intel a AMD, které zlepšují celkově zabezpečení běhu. AMD uvedla Secure Encrypted Virtualization – Secure Nested Paging s procesory EPYC 7003 generace „Milan“ v loňském roce. Od té doby udržovala patche pro podporu mimo hlavní jádro, nyní s Linuxem 5.19 se stávají součástí samotného jádra. Patche byly zaslány hned první den po otevření začleňovacího okna pro tuto verzi jádra a jelikož jde o jednu z klíčových technologií pro serverové zabezpečení v oblasti ochrany integrity paměti atd., lze předpokládat, že letní vydání Linuxu 5.19 bude podporu SEV-SNP obsahovat ve 100% kondici.
Příslušný pull-request velikosti zvící 4 tisíc řádků kódu slouží k základní aktivaci SEV-SNP v jádru. Phoronix dodává, že na začlenění patchů do jádra jsme si zde poměrně dlouho počkali a že toto je zatím stále slabinou AMD: příliš velká prodleva před začleněním. Intel mezitím typicky stíhá začlenění softwarové podpory dříve, než jdou produkty na trh.
Když už o něm hovoříme, tak Intel do jádra 5.19 v rámci běžícího začleňovacího okna posílá patche zajišťující podporu Trust Domain Extensions (TDX), což je volně řečeno alternativa SEV v rámci firemní řady procesorů Xeon rodiny Sapphire Rapids.
Dlužno v tomto případě dodat, že včasnost této podpory dosti závisí na tom, zdali považujete řadu Sapphire Rapids za již uvedenou, nebo blížící se k uvedení. Ono to s jejím uvedením je takové zamotané, ale obecně kolují spíše zprávy o tom, že dostupnost se odkládá ze začátku tohoto roku (to bychom si asi už všimli) na druhou polovinu tohoto roku (možná zhruba září). Pokud bychom AMD tedy zde vytkli, že EPYCy dostanou pořádnou podporu SEV-SNP v jádru až rok po svém uvedení, tak u Intelu bychom se měli pozastavit nad tím, jaktože Xeony Sapphire Rapids už dávno nelze běžně koupit (ve starších roadmapách tyto Xeony figurovaly už od Q1/2021).
Další novinky
- Linux 5.19 také přinese spoustu aktualizací síťové části. Můžeme čekat třeba podporu Big TCP, což přijde vhod zejména datacentrům s 200 a 400Gbit/s konektivitou. Pokračují také práce na BPF či Multi-Path TCP a přibude podpora dalšího hardwaru – vše shrnuje Phoronix.
- Vylepšení se dočkají i různé souborové systémy, včetně Ext4 a exFAT a samozřejmě dojde i na spoustu věcí v rámci neustávajících prací na souborovém systém Btrfs.
- Pět-devatenáctka zjednoduší život správcům tam, kde pracují s CPUID. Namísto nicneříkajících čísel už bude možné vypínat funcionality CPU intuitivněji.
- Dalších vylepšení se Linux dočká v oblasti generátoru náhodných čísel, kdy se v jeho systému opět povrtal Jason Donenfeld (známý například jako zakladatel projektu WireGuard), takže verze 5.19 přinese vylepšené metody sbírání entropie či ovladač upravený do uživatelsky přívětivější podoby. Podrobněji to Jason shrnuje v upovídaném pull requestu.
- Do jádra také míří podpora ARMv9 Scalable Matrix Extension (SME). Staví se zde na práci dříve odvedené na podpoře Scalable Vector Extensions (SVE a SVE2). V rámci Linuxu 5.19 ještě bude potřeba se smířit s absencí podpory SME pro KVM, takže ve virtualizaci bude zatím vypnutá. To a další novinky shrnuje příslušný pull request.