Hlavní navigace

Novinky pro linuxové jádro 6.1: MGLRU či snadnější detekce vadných CPU

26. 8. 2022
Doba čtení: 4 minuty

Sdílet

 Autor: Depositphotos
Patche pro MGLRU už jsou ve větvi mm-unstable, další patche pro Intel Arc, explicitní úrovně paměti v jádru, AMD Platform Management Framework a Cool'n'Quiet Framework a další novinky chystané pro linuxové jádro.

MGLRU patche už jsou ve větvi mm-unstable

Andrew Morton se chopil patchů implementujících mechanismus MGLRU a zahrnul jej do své vývojové větve jádra mm-unstable. Připomeňme, že MGLRU, neboli Multi-Gen LRU je vyvíjená nová implementace mechanismu pro uvolňování stránek paměti, na které pracují vývojáři Googlu. MGLRU už je delší dobu testováno, včetně ostrých testů na vybraných uživatelích Androidu a ChromeOS a vypadá to, že si tento mechanismus vede opravu viditelně lépe. Paměť uvolňuje rychleji a častěji volí vhodné stránky paměti pro uvolnění (oproti dosavadnímu mechanismu LRU).

Zahrnutí podpory MGLRU do hlavní větve jádra bychom se měli dočkat právě s verzí 6.1. Právě proto už nyní Andrew Morton MGLRU začleňuje, aby se stihlo ještě další a další ověřování funkčnosti. Pro zahrnutí v rámci začleňovacího okna pro Linux 6.1 tak je ještě několik týdnů prostoru. MGLRU jsme věnovali letos několik zpráviček (leden, červenec, srpen).

Další patche pro Intel Arc DG2/Alchemist míří do jádra

Ani Linux 6.1 nebude v dlouhé řadě verzí jádra výjimkou a dostane svoji dávku patchů vylepšujících podporu nových samostatných grafických karet Intel Arc, tedy generace DG2 / Alchemist. V tuto chvíli již však můžeme dodat, že jsme v konečné fázi čekání, neb příslušné grafické karty již míří i na běžný trh, ne jen do OEM sestav v Číně.

Další vylepšení pro DG2 zahrnou nastavení pro ladění výkonu karet,nechybí ani nový firmware, který se s kartami pojí. Najdeme zde patche pro TLB (Translation Lookaside Buffer), debugování chyb, řešení určitých scénářů vedoucích k zamrznutí systému atd. Prozatím je však kód nadále experimentální a tudíž pro jeho použití je nutné vše zapnout ručně. Joonas Lahtinen z Intelu dodává na mailing listu, že jde o první malou várku patchů, z čehož lze vyvozovat, že další větší budou následovat.

Kód pro explicitní úrovně paměti v jádru

Do Linuxu 6.1 také zamíří – a nyní už je ve větvi mm-unstable Andrewa Mortona k dispozici – podpora pro tzv. Explicit Memory Tiers, vedle MGLRU další mechanismus pro práci s pamětí. Různé úrovně paměti a podpora práce s nimi, to je například možnost rozhodnout, že klíčovou aplikaci budeme provozovat na rychlém typu paměti, zatímco jinou méně důležitou odsuneme na paměť pomalejší. Tento systém byl vyvíjen v souvislosti s rodinou paměťových produktů Intel Optane, která před lety zahrnovala velké plány, nicméně dnes již víme, že celá řada Optane byla zrušena. Přesto však paměťové úrovně a práce s nimi mají smysl, i třeba v rámci podpory rozhnraní CXL.

Využití pro možnost přidělování na různé paměťové úrovně může být výhledově vhod i s Xeony generace Sapphire Rapids, kde některé modely budou disponovat vlastní velkou HBM2 pamětí. Systém je připravován i na scénáře s fyzickým zapojováním/odpojováním CPU či ubíráním RAM za běhu. Co vše stihne začleňovací okno pro Linux 6.1, uvidíme. Zahrnutý kód do vývojové větve řeší například právě scénáře, kdy v současném Linuxu má vyšší prioritu operační paměť RAM nad lokální GPU pamětí typu HBM2, která je přitom výrazně rychlejší. Podrobněji Aneesh Kumar K.V z IBM na mailing listu.

Snadnější detekce vadných CPU

Detekce zlobivých či nějak nefunkčních CPU jader je věc, která se velmi hodí zejména správcům různých serverů. Linux 6.1 přinese mechanismus pro nahlašování zlobivých CPU, toho v jakém socketu sedí a která jádra zlobí (ve smyslu segmentation fault). V jedné z vývojových větví x86/cpu už je příslušný kód. Autor úpravy Rik van Riel dodává, že ve velké flotile CPU je prostě běžné mít pár vadných kousků. Jeho řešení není dokonalé, neb mezi zjištěním chyby a nahlášením chyby uživateli může CPU danou úlohu přehodit na jiné jádro či systém na jiné CPU, nicméně v praxi by mělo být vypisování chyb pomocí printk() v show_signal_msg()  v momentě segfaultu ku prospěchu nalezení těchto vadných CPU.

V tomto kontextu připomeňme podporu pokročilejšího řešení chyb CPU v podobě Intel In-Field Scan v Linuxu 5.19.

root_podpora

AMD Platform Management Framework a CnQF

Další klíčovou věcí, která zefektivní běh Linuxu s CPU od AMD bude ovladač AMD Platform Management Framework (PMF). Ten umožní na strojích s CPU od AMD efektivnější řízení provozních parametrů na základě chování uživatele a prostředí systému. Hodit se tak bude zejména u notebooků, kde povede k nižším teplotám, tiššímu chodu a větší výdrži akumulátoru. Podrobněji jsme se mu věnovali začátkem měsíce, nyní dodejme, že jej AMD doplní o věc, která oživuje někdejší marketingovou značku Cool'n'Quiet z dob Athlonů XP.

Framework Cool'n'Quiet (CnQF) zde představuje určité rozšíření funkcionality statického nastavení parametrů posuvníkem, kdy může systém dostávat vyšší či nižší výkon za běhu dle potřeby. Framework Cool'n'Quiet a statické nastavení posuvníkem se v podstatě vzájemně vylučují (neboli CnQF bude moci do statického nastavení „dočasně kecat“), CnQF ale přidává podporu konfigurovatelných módů, které mohou být unikátní pro AC a DC a každý mód je unikátní nastavením stavu a chování boostu – OEM výrobci pak mohou tato nastavení konkrétně vyladit pro své potřeby, nastavení CnQF mohou mít oddělené pro AC a DC, nebo společné, to však nijak nebude ovlivňovat, jaké nastavení statického posuvníku provedl uživatel.

Byl pro vás článek přínosný?

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í.