Novinky pro Linux 6.5: podpora vektorových instrukcí RISC-V či aktualizovaný Rust

23. 6. 2023
Doba čtení: 3 minuty

Sdílet

 Autor: Depositphotos
Aktualizovaný Rust Toolchain, asynchronní zápis dat pro F2FS, podpora Qualcomm Adreno 690, senzorů základních desek s Nuvoton NCT6799D i funkční herní ovladač Nvidia Shield s přípravou na nový typ.

Aktualizovaný Rust Toolchain

Přední vývojář podpory Rustu v Linuxu, Miguel Ojeda, již v předstihu zaslal pull request pro novinky týkající se právě podpory Rustu v linuxovém jádru. Celý toolchain bude aktualizován na Rust 1.68.2 s cílem dostávat do jádra aktualizace svižněji než dosud, aby se podpora v jádru co nejméně zpožďovala za vydáváním nových verzí Rustu.

Nový kód také přidává nové API pin-init a nové moduly pro error / str / sync / task / types. Vylepšena je i dokumentace. Podrobnosti popisuje Miguel v pull requestu, míček je nyní na Linusově straně.

Asynchronní bufferovaný zápis dat pro F2FS

Flash-Friendly File-System (F2FS) již brzy nabude podpory pro tzv (nowait) async buffered write, čímž opět vzroste výkon tohoto oblíbeného souborového systému, zrozeného před více než 10 lety v Samsungu. Nový patch zprovozňující optimalizace zápisu stvořil Yangtao Li z Vivo a už visí v příslušné vývojové větvi jádra. Stačilo přitom doslova pár řádků zdrojového kódu. Při hloubce I/O (iodepth) na hodnotě 1 dochází k nárůstu výkonu o zhruba 47 %, při hloubce 16 dokonce o 154 % (tj. 2,54×).

Prozatím samozřejmě není zaručeno, že budou patche začleněny do jádra Linux 6.5, ale podobně jako u všech nyní popisovaných novinek lze konstatovat, že jsou hotovy před otevřením začleňovacího okna, takže procesu by nemělo nic bránit.

Podpora GPU Qualcomm Adreno 690

Nadcházející Linux 6.5 přinese také podporu iGPU Qualcomm Adreno 690, které je součástí čipu Qualcomm Snapdragon 8cx Gen 3, vyráběného 5nm FinFET procesem 5LPE u Samsungu. Tento Snapdragon najdeme například v rok starém ARMovém notebooku Lenovo ThinkPad X13s.

Podpora je nově připravena samozřejmě v rámci ovladače MSM Adreno pro Direct Rendering Manager (DRM), vyžádala si pouhých zhruba 200 řádků nového kódu, který vznikl ve společnosti Linaro. Aktualizace tak umožní používání výše zmíněného notebooku, zahrnuje navíc mimo jiné i obecnou podporu HDMI výstupu a různá vylepšení pro jiná GPU jádra této řady, jmenovitě Adreno 610 či Adreno 660.

Podpora senzorů v NCT6799D pro další základní desky

Mnohé novější základní desky používají novější SuperIO čip Nuvoton NCT6799D či některou jeho variantu (například NCT6799D-S). Do Linuxu 6.5 míří jeho podpora, která zprovozní čtení údajů z této rodiny čipů na mnoha základních deskách:

  • ASRock X670E PG Lighting
  • ASUS ROG STRIX X670E-F GAMING WIFI
  • ASUS X670E ROG CROSSHAIR HERO
  • ASUS TUF GAMING X670E-PLUS WIFI
  • a dalších zejm. pro Ryzeny 7000

Podpora se připravuje už od Linuxu 6.3, hotova ale bude až v rámci verze 6.5, a to logicky v subsystému HWMON. Nejnovější patche zprovozňují čtení údajů jako různá napětí či otáčky ventilátorů.

Podpora RISC-V Vector ISA

Potřebný základ pro vektorová rozšíření architektury RISC-V míří d jádra Linux 6.5. Nový kód obsahuje například nové rozhraní prctl(), kterým může uživatel zjišťovat dostupnost vektorových rozšíření daného procesoru, pro sysctl je tu zase nastavovátko riscv_v_default_allow, kterým lze určit výchozí nastavení toho, zdali budou vektorová rozšíření zpřístupněna v rámci user-space softwaru. Kernelová volba RISCV_ISA_V zase umí přepínat podporu vektorové ISA při buildu jádra a další prvky.

bitcoin_skoleni

Phoronix připomíná, že RISC-V Vector Extension 1.0 bylo ratifikováno v roce 2021 jako cesta pro SIMD na této architektuře. Konkrétní míra využití je otázkou dané implementace architektury i rozšíření, nyní se ale pokládají základy linuxové části tohoto ekosystému. Na věci samozřejmě pracují i vývojáři ve společnosti SiFive, vedle Linuxu se háčkuje podpora i v kompilátorech a dalších prvcích. V rámci riscv části jádra už je kód k dispozici a nyní visí ve větvi for-next a lze tedy předpokládat začlenění do Linuxu 6.5. Jde o 21. verzi sady patchů, kdy se v posledních dnech podařilo vyřešit problémy při buildu kódu a věci z komentářů u 20. verze.

Funkční herní ovladač Nvidia Shield

Pět let poté, co Nvidia uvedla na trh herní ovladač Shield „Thunderstrike“, do Linuxu směřuje jeho podpora (a potenciálně i dalších ovladačů této rodiny). Ovladač, který se původně jmenoval hid-shield, nově hid-nvidia-shield, je připraven k začlenění do jádra Linux 6.5 v podobě čtvrté verze kódu. Může souviset s blížícím se uvedením Shieldu nové generace (jinak proč by zrovna nyní Nvidia pracovala na podpoře produktu s končící životností).

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