Novinky pro Radeony (nejen přípravy pro RDNA3)
Jako obvykle míří do další verze jádra i spousta aktualizací v oblasti ovladačů GPU. U AMD to znamená primárně ovladač AMDGPU, kde v rámci vývojové větve Linuxu 5.18 přichází do jádra úvodní kód pro podporu příští generace GPU architektury RDNA3. Ve výchozím nastavení také můžeme očekávat funkční FreeSync Video a další věci.
V tuto chvíli, jak poznamenává Phoronix, by mělo jít o poslední přidávané nové vlastnosti, následovat bude fáze, kdy se budou vychytávat chybky, řešit opravy kódu, případně ladit jiné drobnosti. Bloky, které v rámci podpory Radeonů prodělají aktualizace, jsou například SDMA 5.2.6, VCN 3.1.2, SMU 13.0.5 a DCN 3.1.5, tedy mimo jiné video engine v GPU AMD. Chybět by neměla ve finálním jádru 5.18 také oprava pro DisplayPort-VGA adaptéry, podpory DisplayPort Multi-Stream Transport apod. Přepracováno bude rozhraní obsluhující Panel Self Refresh, dojde na opravy viruálních displejů, podpory suspend/resume pro Raven 2 a další věci. Více v pull requestu Alexe Deuchera z AMD.
Podpora akcelerátorů rodiny Intel Xe
Samozřejmě i Intel vylepšuje podporu svých GPU a připravuje se i na příchod velkých karet, včetně těch, které cílí na serverový trh v podobě akceleračních karet (rodina Xe HP Compute). Výpočetní produkty Xe HP Compute (Xe-HP) jsou jiný kalibr než desktopové karty, jakkoli stojící na stejné architektuře. Práce na této rodině jsou v ranější fázi, kterou Linux 5.18 posune o slušný kus dále.
Nejnovější sada patchů zavádí do jádra podporu nové rodiny enginů zvané Compute Command Streamers (CCS), které si můžeme představit jako jinak standardní renderovací engine GPU, zde však upravený do podpory pro GPGPU nasazení, tedy buď ryze univerzální výpočetní jednotky nebo dílčí prvky architektury pro kódování videa.
Phoronix upozorňuje, že patche z konce února to kompletně do DRM-Next pro (přes)příští verze jádra nestihnou, nicméně to nevadí, jde o patche úvodní, které zavádí podporu Compute Command Streamers, avšak nezpřístupňují je v user-space ani jinde. Můžeme tak pouze odhadovat, ve které verzi Linuxu se objeví funkční podpora výpočetních produktů rodiny Xe, Phoronix to odhaduje na ne dříve než jádro 5.19 / letní měsíce.
Vylepšení pro DG2/Alchemist
Nepomiňme ale ani desktopové či notebookové grafiky rodiny DG2/Alchemist, které se pomalu blíží a jejich podpora v Linuxu je (bude) na dostatečně solidní úrovni. Linux 5.18 v tomto přinese další zlepšení, inženýři Intelu do jádra zaslali řadu patchů řešících podporu Resizable BAR, podporu 64k stránek (dosud byl limit 4k) či podporu migrace paměti.
Jinak obecně pak Intel mezi patche přidal i vylepšenou podporu mikrokontrollerů GuC opravující běh na platformě ARM, aby zajistil provozovatelnost Xe akcelerátorů také na jiných CPU architekturách vedle své x86. Patche také brání sestavování konfigurací kernelu v realtime režimu (PREEMPT_RT), neboť to s velkými GPU Intel Xe vede k warningům a deadlockům. Intel si nedávnou pořídil firmu Linutronix, která se realtime Linuxu věnuje, takže lze očekávat, že v dohledné době toto bude řešeno. Detailně novinky vyjmenovává Joonas Lahtinen z Intelu v pull requestu.
Plánován přechod z C89 na C11/GNU11 C
Připomeňme též co psal již Honza ve zprávičce z konce února: Linux je psán v Céčku ve verzi z roku 1989 („ANSI C“), a právě to se s Linuem 5.18 nejspíš změní, kdy jádro přejde na standard C11 (ISO/IEC 9899:2011). Tato verze má podporu v GCC 5.1, což je minimální verze překladače, která se nyní pro překlad Linuxu používá (na GCC 5.1 se přešlo s jádrem 5.15 LTS na podzim loňského roku). Jde tedy o krok, který z principu není životně nutný, ale pozbyly důvody, proč jej neučinit (k tématu se před dvěma týdny rozepsal Jonathan Corbet na LWN).
Optimalizace Ext4
Též připomeňme týden starou zprávu o tom, jak si Ritesh Harjani z IBM všiml nadměrného zatěžování jedné funkce v Ext4 v případě jistých typů zápisů a tak ji přepsal tak, aby její náročnost klesla z kvadraticky rostoucí na lineárně rostoucí. Změna se extrémně pozitivně projevuje za určitých hodnot zatížení, její efekt však vedle +17 000 % i velmi mírně záporný (pokud, tak víceméně v desetinách procenta)
Lepší podpora Xeonů Sapphire Rapids
Ovladač Idle stavů pro CPU Intel zajistí lepší podporu procesorů Xeon Scalable nejnovější generace Sapphire Rapids. Do ovaldače intel_idle
, který je tu s námi už od generace Nehalem (první produkty v roce 2008) zamířily patche, které vylepší neutěšenou energetickou bilanci nejnovějších Xeonů od Intelu díky podpoře Idle stavů.
Na tomto místě doplňme informaci o nových Threadripperech, kde to dle měření vypadá tak, že nový 64jádrový Threadripper Pro 5995WX svým výkonem překonává dva dosavadní Xeony Platinum 8280 (vydané v létě 2019, nicméně i tato informace z materiálů AMD ilustruje, že Intel se musí opravdu snažit o co největší optimalizace, když AMD 5995WX si vystačí s TDP 280W, zatímco dva uvedené Xeony mají TDP dohromady 410W).
V patchích mířícím od Idle ovladače Intelu je toho nyní více než jen přidaná ID nových procesorů. Mění se například možnost aktivovat současně stavy C1 a C1E – ty až dosud mohly fungovat současně, pro Sapphire Rapids ale platí, že buď jeden, nebo druhý, čemuž se musel ovladač přizpůsobit. Ve výchozím stavu čekejme od Sapphire Rapids podporu pouze stavů C1 a C6, místo C1 lze ale konfigurací aktivovat C1E, který je úspornější, ale za cenu déle trvajícího procesu jeho opuštění.
Procesory generace Sapphire Rapids, tedy 10nm Xeony už byly představeny, ale zatím na trhu nejsou. K jejich uvedení dojde snad co nejdříve, Linux by měl být s verzí 5.18 slušně připraven a pro konkurenční boj na trhu už je opravdu potřeba, aby Intel neotálel ani o den déle, než je nezbytně nutné, protože Xeonům generace Cascade Lake už definitivně došel dech.