Hlavní navigace

Linux 5.3: chystané novinky pro Ext4, Btrfs, ACRN či x86

David Ježek

Několik dalších sad patchů pro chystaný Linux 5.3, se týká souborových systémů Ext4 a Btrfs, CPU architektur v čele s x86 či systémů virtualizace. Přiblížíme si též Intel Sound Open Firmware.

Doba čtení: 4 minuty

Sdílet

Vylepšení pro Btrfs: nejen TRIM

David Štěrba ze SUSE zaslal do připravovaného jádra 5.3 několik aktualizací pro souborový systém btrfs (připomeňme, že Suse, resp. openSUSE jej umí nabídnout jako výchozí při instalaci). Nejde o nic na titulní stránku The New York Times, převážně opravy chyb a určitý low-level kód implementující některá vylepšení.

Patche tak přinášejí například podporu hardwarového CRC32C na více architekturách, pokud jsou k dispozici nějaké nativní instrukce či optimalizovaná cesta. Btrfs nově také bude umět sledovat bloky, které prošly TRIMem a nebyly změněny od posledního mountu – systém je tak bude při TRIMu přeskakovat. Došlo i na opravy v fsync, chybu vedoucí ke ztrátě dat při problému s inode, nové sledovací body pro aktualizaci velikosti atd.

Opravy pro Ext4 a rychlejší case-insensitive náhledy

Theodore Ts'o nadále udržuje stále ještě nejčastější výchozí distribuční souborový systém Ext4 a v rámci začleňovacího okna pro Linux 5.3 do něj míří několik úprav, plus samozřejmě obligátní várka oprav, kompletní přehled je k dispozici Tedově pull requestu.

Tak například bit označený jako jbd2_inode řeší tzv. dirty range scoping, jinak dojde na rychlejší case-insensitive lookups. Za optimalizací stojí Gabriel Krisman Bertazi z Collabory, který přišel s kódem zrychlujícím tuto operaci o zhruba 30 %, a to na velkých adresářích (pomocí dočasné cache; tato věc se mimochodem objevila v aktuálním jádru 5.2). Podporu tohoto mechanismu již v červnu dostalo Wine-Staging 4.10.

Další novinky pro x86 CPU

Jedna z novinek, kterou přinese jádro Linux 5.3, je oficiální podpora pro x86 procesory čínského výrobce Zhaoxin. Ty jsou vyráběny na základě architektury VIA Centaur, přičemž podpora pro ně putovala do kernelu v posledních několika měsících.

Intel připravil podporu vlastnosti UMWAIT pro jádra typu Tremont, díky čemuž bude jejich běh na Linuxu ještě úspornější (lépe podporuje idle režim). Tremont jsou mimochodem jádra 10nm procesorů Atom, které by vůbec poprvé v této třídě u Intelu měla doprovázet L3 cache. Podle informací datovaných až do jara tohoto roku by se CPU jádra Tremont měla v kombinaci s Gen11 grafikou objevit v podobě Elkhart Lake čipů.

MTTR poběží rychleji na procesorech podporujících cache self-snooping (a to až 50× rychleji. Další výkonnostní optimalizací je podpora FSGSBASE – jde o podporu 64bit instrukční sady, která podporuje čtení/zápis FS/GSBASE s jakýmikoli právy. Výhodou použití je určitý výkonnostní nárůst, kdy se například programy v Javě mohou vyhnout systémovým voláním. FS/GSBASE je přítomno v procesorech Intelu od generace Ivy Bridge (první 22nm z roku 2012). Více viz pull request Thomase Gleixnera. Jak může FSGSBASE prospět, přeměřil Phoronix.

Lepší podpora Intel Sound Open Firmware

„Údržbář“ zvukového subsystému v jádru, Takashi Iwai, poslal do projektu velkou sadu změn v ovladačích pro audio, které chce začlenit do Linuxu 5.3. Prakticky vše navazuje tam, kde jednotlivé prvky subsystému skončily s vydáním jádra 5.2, přičemž tímto do jádra (za)míří spousta kódu týkajícího se Sound Open Firmware, což je projekt vedený lidmi z Intelu, který je ve vývoji už více než rok a má za cíl open-source implementaci firmwarů zvukových DSP a příslušná SDK. Sound Open Firmware už používají nejnovější Google Chromebooky a jeho nasazení jistě v budoucnu jen poroste.

Intel samozřejmě tyto věci dělá kvůli podpoře svých čipů, tedy zejména rozličných SoC jako Comet Lake (patche přidávají podporu jejich PCI ID) či Cannonlake/Apollolake (podpora runtime idle). Dále je přidána podpora SoundWire a do Linuxu 5.3 pak zamíří také ovladače pro čipy Cirrus Logic CS47L35/CS47L85/CS47L90, Conexant CX2072X, Realtek či RT1011 a RT1308. Na některých čipech Realteku dosud zlobil resume, to je nyní opraveno.

Podpora ACRN hostů

Příští verze Linuxu bude také díky práci několika lidí umět pracovat s ACRN hosty. ACRN je referenční open-source hypervizor zastřešený samotnou The Linux Foundation, jehož cílem je malá velikost, dobrá podpora realtime běhu a cílení na internet věcí (IoT). Na Linuxu 5.3 tak bude možné používat hosty běžící na ACRN, o čemž je většina pull requestu zkompletovaného Ingo Molnarem.

32bit paravirtualizace Xenu zmizí, ale až z Linuxu 5.4

Prozatím i s vydáním Linux 5.3 přežije v systému podpora 32bit Xen PV hostů. Sérii patchů tuto věc odstraňujících před pár dny zaslal Juergen Gross, mimo jiné s komentářem, že dlouhodobým cílem je nahradit paravirtualizované (PV) Xen hosty za PVH (viz rozdíl mezi jednotlivými typy hostů).

Jako první na řadě v odstraňování PV hostů jsou celkem logicky ty 32bitové, neb Linux jako takový i linuxové distribuce s ním pomalu směřují k přechodu na 64bit architektury. Xen na x86 vyžaduje podporu 64 bitů a i Grub2 nyní podporuje PVH (od verze 2.04), takže k udržování 32bit PV hostů není moc důvodů. Navíc na 32bit PV hostech nejsou k dispozici opravy pro Meltdown a i Xen jako takový už je řadu let zaměřen primárně na 64bit x86 architekturu. Každopádně tyto patche to do jádra 5.3 nestihnou, tak s nimi počítejme pro Linux 5.4.