Ovladač Intel NPU dostává Command-Queue Priority ioctl
Patche do vývojové větve drm-misc-next, ze které vzejde budoucí jádro Linux 7.4 nově obsahuj další prvky podpory pro aktuální procesory Core Ultra společnosti Intel, konkrétně pro NPU jednotky, tedy část procesorů sloužících k akceleraci AI. Novinkou je podpora command-queue priority ioctl, tedy nové nastavení subsystému Direct Rendering Management,DRM_IVPU_PARAM_CMDQ_PRIORITY přinášející použití front a aktualizací priority scheduleru existujících front úloh pro NPU jednotku.
Tato priorita může být dynamicky měněna, což bude využitelné zejména pro úlohy s prioritou vysokou či naopak nízkou. Ve výsledku očekávejme o něco efektivnější běh úloh na NPU části současných procesorů Intel.
Optimalizace xor_gen pro AVX-512
Patche, které se pro linuxové jádro pekly v posledních měsících, konečně dodají podporu AVX-512 optimalizované varianty xor_gen() funkce, používané na linuxových systémech v rámci softwarových RAID polí. Věci jako generování a validace parity na RAID 5 a RAID 6 tak s příslušně vybavenými procesory doznají značného zrychlení běhu.
Pokud pomineme rané implementace AVX-512 přímo od Intelu, které se výkonově úplně nepovedly, pak AVX-512 v tuto chvíli nabízí ve velmi povedené implementaci procesory AMD generací Zen 4 a výše, případně některé nové serverové procesory Intelu.
Vývoj kódu pro tuto efektivnější implementaci vedl Eric Biggers z Googlu, pro kterého toto není první podobný projekt v rámci linuxového jádra. Poslední revize patchů již míří do příslušné vývojové větve a očekává se její začlenění v rámci jádra Linux 7.4.
Oprava pro TLB procesorů AMD Zen 5
Drobná změna v procesorech AMD generace Zen 5, kde výrobce nově používá pro reportování velikosti TLB násobky 32, si vyžádala opravu. Procesory totiž sice reportují násobky 32, ale linuxové jádro na to nebylo aktualizováno, takže vypočtená hodnota je chybná.
Do jádra tak míří rychlý patch pro řady EPYC i Ryzen, který přepočet napravuje a nově tak bude údaj v /proc/cpuinfo apod. korektní. Oprava se pak týká i budoucích procesorů generace Zen 6, případně všech dalších, které AMD uvede na trh. Jak dodává Phoronix, oprava není vedena jako „urgentní“ v rámci větve TIP, takže zamíří spíše do jádra 7.4, nikoli jako hotfix pro 7.3, aktuálně se nacházející v RC3 stádiu.
O desítky procent rychlejší sestavování jádra
Sestavení celého jádra o 36% rychlejší, inkrementální o 70% rychlejší. I takto může zrychlit jádro Linux 7.4 díky balíku změn, které se zaměřují na žáby na prameni, části buildovacího systému, kde operace probíhaly dosud jen jednovláknově, ač nemusely. Tyto zpomalující části jsou odstraněny a kód upraven, a to za asistence AI. Do jádra míří druhá verze kódu a pokud půjdou věci hladce, mohla by být začleněna už v rámci nejbližší verze 7.4.
První patche z balíku už začleněny byly, další dostávají dílčí opravy a jsou aktualizovány pro současné vyvíjené jádro. Práce na této inovaci vede Lorenzo Stoakes ze společnosti ARM, který předpokládá, že s ohledem na jinak veskrze nekontroverzní povahu změny snad začlenění bude hladké, zejména s ohledem na uvedené výkonnostní benefity.
Mírné zrychlení pro Zstd dekompresi Btrfs
Vedle samotné podpory komprese Zstd dostává zajímavé patche i ovladač souborového systému Btrfs, právě v kódu pro transparentně využívanou Zstd dekompresi. Vývojář Usama Arif si všiml, že v této dekompresní cestě je prováděna příslušná operace dvakrát, kdy jsou data nejprve zapsána do dočasného bufferu a z něj poté do příslušné části paměti.
Tento mezikrok lze vynechat a Zstd zápis provést rovnou na danou stránku cache. Buffer se ponechává pouze pro výstup bez cílového určení, celkově pak vede tato úprava ke zrychlení sekvenčního čtení o jednotky procent pro 4k, 16k i 64k velikosti sektorů. Mírně zrychluje i náhodné čtení.
