Co se chystá pro Linux 5.15, část druhá: nové platformy i rychlejší řešení OOM

10. 9. 2021
Doba čtení: 7 minut

Sdílet

 Autor: Depositphotos
Nové ARM platformy, syscall pro rychlejší uvolnění paměti, AMD RDNA2 a Van Gogh, kernelový SMB3 File Server, Suspend/Resume u AMD, nová GPU, mountování FUSE pro CERN, lepší podpora platformy RISC-V.

Rychlejší uvolnění paměti umírajících procesů

Linux 5.15 nabídne vylepšení mechanismů řídících chování systému v případě, kdy dochází / došla RAM. Dnes toto ošetřuje například démon systemd-oomd, případně na Androidu jde o LMKD. Linux 5.15 ale nabídne nové systémové volání process_mrelease, s nímž bude možné ještě rychle uvolňovat paměť u/po „umírajících“ procesů, a to navíc lépe predikovatelnou cestou. Stávající cesta, kdy proces uvolňuje paměť po obdržení signálu SIGKILL, je nepředvídatelná třeba proto, že doba uvolnění závisí na stavu,v jakém se proces v danou chvíli nacházel (například nepřerušitelný spánek) a dalších aspektech.

Nový způsob uvolňuje paměť už z úrovně volajícího a je tedy víceméně nezávislý na tom, v jakém „rozpoložení“ se ukončovaný („zabíjený“) proces nachází. Volat nové volání je možné jen u umírajících procesů, takže například v případě potřeby ručně zabít ten opět vytuhlý Firefox jej nelze použít. Podrobnosti na kernelovém Gitu.

Nové platformy ARM v jádru

Pět-patnáctka také přinese podporu nových čipů architektury ARM, resp. též nově podporu některých starých ARM SoC. Mezi nimi již nyní v různých pull requestech / patchích nechybí třeba Nvidia Jetson TX2 NX, Microchip SAMA7 (používají stařičká 32bit jádra Cortex-A7), Qualcomm Snapdragon SDM636 a SDM8150, SoC Renesas R-Car H3e-2G a M3e-2G, dále platforma Intel IXP4XX založená na XScale nově využívající DeviceTree, specifické implementace ASpeed ASTC2600 BMC v serverových deskách Facebook Cloudripper / Elbert / Fuji.

Mezi smartphony jde konkrétně o loňský model Sony Xperia 10 II s čipem Qualcomm Snapdragon 665, dále už téměř 7 let starý Xiaomi Redmi 2 s 28nm Snapdragonem MSM8916 (Snapdragon 410) a též stařičký Samsung Galaxy S3 Neo s 28nm Snapdragonem 400 (model MSM8226) z dubna 2014.

Na seznam přidejme ještě desky s NXP i.MX (například Nitrogen8 a Traverse Ten64), vývojářskou desku 4KOpen STiH418-b2264 a různé další. Nezávisle na tom všem pak do jádra přibývají některé úpravy či aktualizace obecné podpory 32bit či 64bit ARM architektur (například změny ve scheduleru)

Novinky u AMD: RDNA2 i Van Gogh APU

Pro APU generace Van Gogh si AMD připravila patche přinášející ovladač zvukové části. Přináší sebou různé nízkoúrovňové optimalizace v rámci ALSA a také refactoring způsobu alokace paměti plus další vylepšení. APU generace Van Gogh teprve půjdou na trh, přičemž má jít o kombinaci CPU Jader generace Zen 2 a GPU generace RDNA2.

Toto vše tvrdí Phoronix ve svém textu, my však od jara víme, že APU Van Gogh mělo pohánět stroje Microsoft Surface, ale projekt byl nejspíš ukončen před uvedením na trh (psal v březnu no-X) a sama AMD pak stopla i generaci APU Van Gogh. Na tu má navazovat Rembrandt (s ohledem na již neexistující původní zdroj opět odkazuji na dobové shrnutí od no-Xe). O této generaci můžeme čerstvě říci, že výroba APU Rembrandt, jehož CPU je povýšeno na generaci Zen3+, se v těchto dnech rozeběhla na plné obrátky, a to 6nm procesem. Ono je to jedině logické, v době před příchodem Zen3+ a finišujících prací na Zen4 uvádět APU typu Zen2 postrádá smysl. Tyto změny na úrovni CPU či GPU architektur v APU samozřejmě nemají kardinální vliv na zvukovou část. Podrobnosti v pull requestu, v němž shrnuje práci velké řady vývojářů Takashi Iwai ze SUSE.

Aktualizace 20:45: Van Gogh přeci jen své uplatnění našel, a to v konzoli Steam Deck od Valve.

Další novinky u AMD pak zahrnují podporu, resp. rozšíření PCI ID v rámci podpory generace RDNA2 na další produkty. Jde o celkem velkou várku 17 nových ID, s nimiž do jádra 5.15 poputuje podpora spousty nových Radeonů, které AMD postupně uvádí na trh (pomiňme nyní jejich mizernou dostupnost a přepálené ceny, což je stále dáno kombinací parazitování čínských těžařů a vysoké ceny kryptoměn v čele s BTC). Mimochodem tato ID mohla klidně skončit až v začleňovacím oknu pro Linux 5.16, nestihl se původní pull request pro 5.15 a tak byla narychlo dokončena oprava (resp. balík oprav, s nímž se nová ID svezou), která už do patnáctky zamířila. Shrnuje jako obvykle stálice linuxového GPU týmuv AMD, Alex Deucher.

KSMBD, neboli kernelový SMB3 File Server

Podpora SMB3 přímo v linuxovém jádru je cílem pull requestu, který do okna pro verzi 5.15 připutoval mezi prvními. Věc je na dobré cestě, Linus Torvalds příslušný pull request schválil. Za vývojem tohoto projektu známého též jako KSMBD stojí Samsung. Jeho cílem není nic tak velkého a komplexního jako stávající podpora CIFS/SMB v uživatelském prostoru, vývoj je cílen na co nejvyšší výkon této kernelové implementace. Počáteční balík kódu má velikost ~32 tisíc řádků zdrojového kódu a samozřejmě je pod licencí GPLv2. Více podrobností na kernelovém Gitu.

Důležitá oprava Suspend/Resume pro AMD

Spousta posledních platforem od AMD podporuje úsporný stav známý jako s2idle/suspend-to-idle S0ix, s nímž lze daný stroj uvést do velmi úsporného režimu, z nějž může být zase rychle probuzen. Podpora v Linuxu ale dosud zlobí. Tomu bude konec s vydáním verze 5.15, neb do ní míří patche, které přinášejí důležitou opravu implementace v  s2idle.

Týká se to například notebooků HP ENVY X360, kde probuzení z uvedeného režimu spánku typicky vede k tomu, že power LED nefunguje, některé klávesové zkratky jako nastavení úrovně podsvícení též a ani se neroztočí ventilátor chladiče CPU, ani při zátěži. Každopádně s jádrem 5.15 čekejme opravy v kódu ovladačů / implementaci ACPI a vše by mělo již fungovat.

Chyba spočívala mimo jiné v tom, že řada OEM výrobců strojů použila danou implementaci platformy bez podpory potřebného AMD kódu pro funkčnost tohoto režimu a nasadili ve svých strojích pouze kód implementující podporu pro Windows. Nyní tedy bude ovladač v jádru prostě volat obě metody, a parafrázujme to takto: to by v tom byl čert, aby aspoň jedna nefungovala a úsporný režim nepřestal zlobit. Za opravou stojí Mario Limonciello, jeden z novějších členů linuxového týmu v AMD.

Podpora novějších i budoucích GPU

Linux 5.15 začlení hromadu nového kódu, který přichází jak z AMD, tak z Intelu. O Nvidii se ve slušné open-source společnosti příliš nehovoří, t a si nadále jede na vlastním písečku a drobty, které posbírá projekt nouveau ani tentokrát nestojí příliš za řeč (potěší však nově podpora podsvícení u eDP připojení používaného u notebooků).

Takže například David Airlie zaslal aktualizace mnohých ovladačů Direct Rendering Manager (DRM). Celkově se do pět-patnáctky vejde počáteční podpora karet Intel XeHP a a také generace DG2/Alchemist – berme to jako probíhající přípravu na budoucí produkty, žádné reálné grafické karty Intel zatím v e-shopech nekoupíme, ale plány jsou velkolepé. Intel vedle toho vylepšuje s touto verzí kernelu i různé rutiny v ovladačích, funkčnost API uživatelského prostoru a připravuje se právě na budoucí samostatná GPU (zde patche přidávají například podporu správy paměti TTM pro generace DG1 a DG2/Alchemist).

Jak jsme psali již dříve, z Linuxu mizí podpora nikdy nevydané generace GPU Intel Gen10 v procesorech Cannon Lake. S novým jádrem bude konečně v základu aktivní podpora grafik generací Jasper Lake a Elkhart Lake (Atomové, resp. low-power čipy Intelu, uvedení na trh letos v lednu).

AMD vedle výše probírané generace RDN2 přidává také podporu ještě neuvedené řady Cyan Skillfish, což je grafik v APU generačně odpovídající Navi 1×. Do AMDGPU také míří vylepšení správy napájení či oprava FreeSync přes HDMI.

bitcoin_skoleni

Ovladač MSM DRM pro GPU Qualcomm Adreno dostává podporu použití DRM core scheduleru a také GPU Adreno 680 a jádra 7c3. Vše shrnuje pull request Davida Airlieho.

Stručně

Mezi prvním dílem tohoto shrnutí z minulého týdne a tímto článkem jsme vydali též zprávičku, která zmiňuje jednu důležitou novinku v Linuxu 5.15, plus přidejme dílčí drobnosti:

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