Novinky pro Linux 5.17: ovladač AMD P-State či Intel Hardware Feedback Interface

7. 1. 2022
Doba čtení: 6 minut

Sdílet

 Autor: Pixabay
Ovladač AMD P-State, podpora názvů oddílů u Ext4, zmizí nepoužívaná CleanCache, nové opravy pro zlobivé x86 tablety, Mesa 22.0 s FreeSync/VRR pro Intel OpenGL/Vulkan, Intel HFI pro Intel Alder Lake.

Ovladač AMD P-State

Premiéru si v Linuxu 5.17 odbude ovladač AMD P-State, tedy ovladač řešící provozní stavy procesorů AMD Ryzen / Threadripper / EPYC. K dispozici ve vývojových verzích je již od září minulého roku, AMD jej nyní i ve spolupráci s Valve doladila do finálního stavu (Valve se vývoje účastní z toho důvodu, že její přenosná herní konzole Steam Deck je/bude poháněna APU od AMD).

Pro procesory AMD by se mělo jednat o pokrok vpřed oproti generickému ovladači ACPI CPUFreq. Ovladač od AMD v řízení frekvencí a výkonových stavů CPU staví na ACPI CPPC (Collaborative Processor Performance Controls), díky čemuž má oproti CPUFreq jemnější chod. CPPC ale musí být podporováno na úrovni BIOSu/firmwaru stroje.

Phoronix v tomto kontextu připomíná své testy AMD P-State z konce listopadu. Každopádně ovladač má za sebou pull request a je nyní v příslušné vývojové větvi jádra týkající se správy napájení.

Podpora názvů oddílů pro Ext4

Lukáš Czerner z Red Hatu připravil patche, které přidávají podporu ioctl FS_IOC_GETFSLABEL a FS_IOC_SETFSLABEL pro souborový systém Ext4, tedy možnost u takových oddílů pro online nastavení jejich popisku, resp. jeho čtení.

V případě ext4_ioctl_getlabel() jde o jednoduché načtení popisku z prvního superbloku, u ext4_ioctl_setlabel()  se nejprve aktualizuje informace o primárním superbloku a následně provede aktualizace (má to určitá specifika, která Lukáš v commitu popisuje). Ted Ts’o nyní patche začlenil do vývojové větve Ext4 a lze předpokládat, že tedy projdou začleňovacím oknem pro Linux 5.17.

CleanCache zmizí, nikdo ji nepoužívá

Před 10 lety se v jádru objevila tzv. CleanCache. Měla značně zefektivnit běh virtuálních strojů, stáli za ní vývojáři z Oracle. Situace v roce 2022 je ale zcela opačná, CleanCache se v podstatě nikde nevyužívá (poslední ovladač využívající CleanCache, tedy Xen Transcendent Memory (TMEM), byl z jádra odstraněn v roce 2019) a není tak důvod ji v jádru udržovat. Do větve Linux-Next tak zamířily patche, které CleanCache odstraňují. Lze očekávat, že patche si prorazí svoji cestu do Linuxu 5.17.

Opravy pro zlobivé x86 tablety

Linux 5.17 přinese nový ovladač, jehož úkolem je řešit zlobící podporu některých tabletů z éry, kdy Intel chtěl v tomto segmentu využít Atomy proti silně rostoucí platformě ARM. Dostal jméno x86-android-tablets a pracuje na něm zkušený bojovník v oblasti podpory x86 tabletů, Hans de Goede z Red Hatu. Oblastí, kde ovladač řeší problémy x86 tabletů, je například implementace ACPI DSDT (Differentiated System Description Table), kde mnoho x86 modelů používá neplatné záznamy a trpí dalšími neduhy.

Předinstalovaný Android na těchto přístrojích typicky problém obchází tím, že tablety mají dané hodnoty natvrdo zapsané, nikoli implementované korektní cestou přes ACPI DSDT. Řešení samostatným ovladačem, který v podstatě tyto věci kompenzuje, označuje Hans jako nejméně ošklivé (z možných).

Po počáteční várce patchů řešících podporu prvních modelů přichází várka druhá. Po různých čínských značkách (včetně známější Xiaomi) přichází na řadu například ASUS MeMO Pad 7, androidí tablet starý dobrých osm let, který šel na trh s Androidem 4.4 „KitKat“.

Mesa 22.0 přinese FreeSync/VRR pro Intel OpenGL/Vulkan

Už jistou dobu disponuje Linux podporou variabilní snímkové frekvence (známé jako FreeSync, Adaptive Sync či VRR) pro Intel GPU Gen12/Xe. Připomeňme, že již dříve bylo jasné, že s Linuxem 5.17 bude podpora VRR rozšířena i na Gen11 GPU, tedy procesory rodiny Ice Lake. Jak nyní uvádí Phoronix, s tím, jak podpora v Intel i915 DRM dosáhla použitelnosti, bude VRR (Adaptive Sync) ve výchozím nastavení zapnuto v ovladačích Intel Mesa pro API OpenGL i Vulkan.

Základy pro možnost obecné podpory VRR/FreeSync/Adaptive-Sync v Mesa přitom položili vývojáři AMD, kteří pracovali na podpoře svých produktů (připomeňme historicky, že to co známe jako VESA Adaptive Sync a z čeho se odvodilo i HDMI VRR, staví na prapůvodních základech technologie AMD FreeSync). Každopádně Mesa 22.0 přinese později v tomto čtvrtletí podporu výše uvedeného, přičemž pro Intel Ice Lake si to vyžádá i použití jádra Linux 5.17.

Podpora Intel Hardware Feedback Interface vylepší chod Linuxu na CPU rodiny Alder Lake

Uvedením procesorů rodiny Alder Lake (12. generace Core, současné „7nm“ procesory jako Core i9–12900K) Intel poněkud zkomplikoval systém rozdělování výpočetních úloh na jednotlivá jádra. Tam, kde až dosud operační systémy „zápasily“ maximálně s Hyper-Threadingem, nyní přichází procesory disponující různými typy CPU jader disponujícími různými instrukčními sadami (například malá CPU jádra Gracemont v procesorech Adler Lake neumí AVX-512 a HT, zatímco velká jádra Golden Cove ano).

Vedle věcí jako multi-threading a Turbo Boost tak do hry vstupuje i tzv. Thread Director a rozhraní známé jako Intel Enhanced Hardware Feedback Interface. Podpora ve Windows 11 je již relativně rozumná, podpora v Linuxu se stále průběžně zlepšuje a právě Linux 5.17 přinese ranné patche intel_hfi pro toto rozhraní.

Skrze něj bude moci systém získávat potřebné informace o výkonu a energetické efektivitě jednotlivých CPU jader v systému. HFI používá tabulku parametrů sdílenou mezi hardwarem a operačním systémem, přičemž hodnoty v této tabulce se průběžně mění v závislosti na aktuálních provozních parametrech CPU (teplota, spotřeba, blízkost limitů atd.) i vnějších faktorech (jako TDP). Hodnoty v HFI tabulce jsou bez uvedených jednotek, jde o relativní hodnoty pro jednotlivá jádra, kde systém může porovnat aktuální provozní parametry jednotlivých CPU jader a na základě toho rozhodnout, kterému CPU jádru přidělí danou úlohu.

Patche na HFI přitom primárně cílí na user-space, aby možnost flexibilního řízení běhu na neustále se provozně měnícím CPU byla k dispozici aplikacím přímo. Na některých systémech se mimochodem mohou HFI položky nastavit pouze jednou při startu systému, na jiných naopak měnit co pár desítek milisekund.

Dovolte mi ještě doplnit, že z výše uvedeného logicky plyne, že výkon systému na procesorech rodiny Alder Lake kombinujících různé typy CPU jader se může v nadcházejících měsících zlepšovat, jak se budou dařit dílčí optimalizace na úrovni aplikací (případně kompilátorů apod.).

Dlužno však dodat, že dle nejnovějších zjištění se Intel rozhodl nařídit výrobcům desek s aktualizací mikrokódů vypnout podporu AVX-512. Zčásti může jít o to, že výkon s AVX-512 často nepředčí výkon velkých jader bez AVX-512, zčásti mohou mít pravdu zlí jazykové, kteří v této souvislosti propočítávají, že s blížícím se uvedením nižších procesorů Alder Lake nekombinujících více CPU jader by se jinak zjistilo, že vliv použití AVX-512 je spíš negativní, resp. stejného výkonu se dá dosáhnout bez AVX-512, ale s aktivními i malými jádry (při použití AVX-512 nelze používat malá jádra).

bitcoin_skoleni

Nižší procesory Alder Lake by pak naopak mohly ukázat, že výkonu kombinace malých a velkých jader lze dosáhnout použitím AVX-512 na procesoru bez malých jader, čímž by se negoval veškerý benefit hybridní CPU architektury (která – a takto by mohl vyznít logický závěr – jak plyne z Thread Directoru / HFI vlastně jen věci zbytečně komplikuje). Ať už je pravda jakákoli, vše ukáží budoucí testy.

Jistě budou minimálně podniknuty pokusy, jak podporu AVX-512 u desktopových CPU Alder Lake neoficiálně aktivovat. Zdali budou úspěšné, uvidíme.

Autor článku

Příznivec open-source rád píšící i o ne-IT tématech. Odpůrce softwarových patentů a omezování občanských svobod ve prospěch korporací.