Ovladač Intel Xe s novinkami v jádru Linux 7.1
Vývojáři společnosti Intel chystají i pro jádro verze 7.1 řadu novinek v podpoře firemních GPU. V tomto kontextu připomeňme, že Intel čerstvě uvedl hi.end model Arc Pro B70.
Hlavní novinkou pro (přes)příští verzi jádra je zavedení podpory Transparent Hugepages (THP) v rámci drm_pagemap, díky čemuž budou moci GPU Intel využívat větší paměťové bloky, například 2MB oproti standardním 4kB. Zrychluje též kód pro sdílenou virtuální paměť (SVM), typicky využívanou u paměťově náročných úloh. Snižuje se zde díky větším stránkám režime CPU, a to výrazně.
S THP také sedminásobně zrychluje tzv. page fault servicing, efektivnější je i kopírování dat (méně bloků = méně administrativy jádra systému).
Opomenout nesmíme ani pokračující práce na podpoře next-gen architektur Intelu, v rámci tzv. „Project Battlematrix“. Zde je primárním cílem podpora karet sloužících pro AI výpočty (jako rodina Crescent Island), a dále pak grafické karty příští generace. Vše už visí ve vývojové větvi drm-xe-next, ze které vzejde verze ovladače pro jádro Linux 7.1.
Konec omezením detekce více baterií v jednom HID zařízení
V Linuxu je v tuto chvíli stále nepříjemné omezení komplikující život uživatelům všech HID zařízení, která obsahují více než jednu baterii. Jde třeba o herní headsety, grafické tablety (a jejich pera), bezdrátová sluchátka apod. Linux zatím neumí reportovat o stavu více akumulátorů v jednom zařízení, a to se právě s Linuxem 7.1 změní k lepšímu.
Změna bude přímo v základním kódu pro HID zařízení, kde nyní přibyla podpora více baterií na zařízení. Každá bude mít své vlastní unikátní report ID, kompatibilita API pak bude zachována, aby nedošlo k rozbití existující funkcionality.
Ovladač Intel Vulkan ANV s nárůstem výkonu Direct3D 12 aplikací
Ovladač ANV, tedy jaderný ovladač pro API Vulkan s GPU Intel, dostane v období kolem jádra Linux 7.1 další vylepšení. Konkrétně implementuje podporu pro BTP+BTI RCC Keying, což povede k vyššímu výkonu pro Direct3D 12 hry běžící přes Vulkan na Linuxu a s Intel GPU. Tedy například pro Direct3D 12 tituly běžící přes Steam Play + Proton/VKD3D-Proton.
Hlavní patch, který podporu BTP+BTI RCC keyingu (Binding Table Pointer + Binding Table Index) zapíná, je v jádru už dobrých 5 let (zhruba koresponduje s příchodem GPU generace Alchemist, tedy karet jako Intel Arc A770), začleněn bude v rámci Mesa 26.1, kde se nyní dostal do vývojové větve.
Podpora zrychlí běh všech Direct3D 12 her, pro Direct3D 11 je zde spousta výkonnostních regresí (patrně souvisí s řešením padání RCC, kvůli čemuž bylo potřeba odstranit z binding table vše kromě render targetů, takže všechny přístupy ke shader resource musejí projít skrze ne-bindovanou HW haldu, což snižuje celkovou efektivitu a tudíž výkon – věc je v řešení, zkoumá se cesta pomocí vylepšení na úrovni kompilátoru).
Sluší se také dodat, že pro generace Intel GPU před DG2/Alchemist je k dispozici v hardwaru jen malá bindless halda, takže by nedávalo smysl tyto techniky vůbec používat, takže pro starší generace GPU Intel než aktuální je celá věc vypnuta. Novinek do ovladače ANV míří a zamíří jistě více.
Patch aktivující Intel FRED pro Panther Lake
Jádro Linux obsahuje implementaci softwarové optimalizace běhu procesorů Intel, známou jako Flexible Return and Event Delivery (zkráceně FRED). Ta je ale dosud ve výchozí konfiguraci vypnuta, pročež poslední generace procesorů Panther Lake přichází o část své efektivity vedoucí k vyššímu výkonu těchto procesorů.
Hans Peter Anvin z Intel tak nyní do jádra zaslal patch, který ve výchozí konfiguraci FRED na podporovaných procesorech zapíná. V tuto chvíli jde buď o spotřebitelské procesory Core Ultra Series 3 „Panther Lake“, nebo nadcházející serverové procesory Xeon generace „Diamond Rapids“. FRED by ale měly podle dostupných informací podporovat i procesory AMD generace Zen 6.
Důvod, proč je FRED dosud vypnut, spočívá v úvaze, že není dobré riskovat regrese dřív, než je hardware na trhu. To ale padlo s uvedením produktů rodiny Intel Panther Lake. Hans v patchi přímo uvádí, že měření Phoronixu ukázala (jak konstatuje Phoronix), že FRED vede ke zlepšení výkonu. S ohledem na načasování, kdy Linux 7.0 je v RC5 fázi, lze spíše předpokládat začlenění v rámci vývoje jádra Linux verze 7.1. Nicméně v takovém případě uživatelům jádra verze 7.0 postačí přidat boot parametr fred=on.
Úprava plánovače kolem priorit SMT jader zvýší výkon systému
Nové nastavení jaderné extensible scheduler class ( sched_ext) umožní implementace schedulingu s BPF, které budou prioritně využívat nezatížená SMT jádra sdílející stejné fyzické CPU jádro. Výsledkem bude Linux, který poběží efektivněji, tedy rychleji. Ve srovnání se stávající politikou, kdy scheduler primárně bere CPU jádro prostě jen sedící na stejné last-level cache, bude systém o zhruba 2 až 3 % výkonnější, hlásí Andrea Righi z Nvidie.
Jde o úsporu plynoucí z nepotřeby přesunu dat na jiné CPU jádro, jakkoli přes společnou cache. SMT sourozenec je vždy „blíže“. Implementace se objeví v Linuxu 7.1.
