Linus Torvalds, attraverso il consueto post sulla mailing list del kernel, ha annunciato (con una settimana di ritardo a causa delle vacanze di Natale) il primo aggiornamento del 2022. Stiamo parlando di Linux 5.16, nuova versione del kernel che sarà particolarmente apprezzata dai gamer. Diamo uno sguardo a tutte le novità.
Linux 5.16: highlights
Linux 5.16 introduce una nuova system call chiamata FUTEX2 ( futex_waitv(2)
) grazie all’aiuto di Collabora. Futex sta per fast user mutex, si tratta di un insieme di syscall che permettono di creare meccanismi di sincronizzazione performanti, come mutex, semafori e variabili condizionali nello spazio utente. Le librerie standard C, come glibc, lo usano come mezzo per implementare interfacce di livello più alto come pthread. Futex2 è un’evoluzione di futex, progettata per superare i limiti dell’interfaccia originale. Questa nuova chiamata emula la chiamata WaitForMultipleObjects di Windows. I benefici quali sono? Riduce l’uso della CPU e permette di aumentare gli FPS, dunque migliora l’esperienza di gaming per i giochi Windows eseguiti tramite Wine.
File System Report
Un’altra novità interessante riguarda i report del file system che ora sfruttano una nuova API basata su fanotify
(anche se per ora ne beneficia solo EXT4). Questa modifica migliora il sistema di monitoraggio perché va a segnalare solo il primo errore che si è verificato dall’ultima segnalazione, tenendo però un conteggio degli errori aggiuntivi.
Gestione della memoria…
Per gestire la memoria di sistema, la RAM disponibile è suddivisa in piccole unità, chiamate pagine. La dimensione di queste pagine varia a seconda dell’architettura, ma sui sistemi x86 si esprime in KB. Nei moderni sistemi con diverse decine di GB, dimensioni di pagina così ridotte equivalgono a una grande quantità di pagine, difficili da gestire. Per risolvere questo problema, il kernel Linux ha sviluppato il concetto di pagine composte, che sono strutture di pagina che possono contenere più di una pagina fisica. Ma il modo in cui funzionano queste pagine composte non è chiaro e ha API soggette a bug che introducono anche un sovraccarico in tutto il kernel.
Linux 5.16 introduce il concetto di page folios, che sono come pagine composte, ma con una semantica migliore. L’uso dei page folios porta miglioramenti delle prestazioni nei carichi di lavoro comuni. Questa release del kernel include l’infrastruttura principale dei page folios e converte alcune parti del sottosistema di gestione della memoria principale e della cache. Le versioni future convertiranno alcuni file system e introdurranno i multi-page folios.
… e tanto altro
Ogni aggiornamento del kernel migliora la compatibilità con l’hardware next-gen e Linux 5.16 non fa eccezione. Come vi avevo preannunciato è arrivato il supporto per Raspberry Pi 4 Compute Module ma anche quello per DisplayPort 2.0 nei driver AMDGPU e un primo supporto “stabile” per Intel Alder Lake S (cioè DG1). Linux 5.16 rileva correttamente i controller Nintendo Joy-Con e Nintendo Pro e Apple Magic Keyboard 2021. Migliora il supporto per Surface Pro 8, Surface Laptop Studio e Surface Go 3.
In attesa dell’arrivo di un maggior numero di PS5 nei negozi fisici e online gli sviluppatori hanno pensato di migliorare il supporto per il controller PlayStation grazie ad un aggiornamento fornito da Sony. Nel caso foste curiosi, l’anno scorso hanno aggiunto il driver ufficiale al kernel Linux 5.12.
Inoltre segnalo:
- Supporto per le istruzioni Intel AMX
- La topologia del processore ora è nota al Task scheduler che può gestire al meglio lo scheduling dei task
- Nuove funzionalità DAMON (Data Access MONitor)
- Migliora la gestione in situazioni di congestione del disco. Quando un processo scrive molti dati e il disco è congestionato, al processo non viene più consentito di fare nuove richieste di scrittura fino al completamento delle richieste di scrittura correnti
- Performance boost per laptop con Ryzen e schede Radeon
- Sono presenti anche: aggiornamenti del filesystem, modifiche al kernel, nuovi driver e miglioramenti lato networking
Download | Installazione
Potete scaricare i sorgenti di Linux 5.16 da www.kernel.org. Se non avete fretta potete attendere che i mantainer della vostra distro di riferimento aggiornino i repository. Su Ubuntu potete usare le build create dagli ingegneri di Canonical. La finestra di Merge per Linux 5.17 è già aperta, il rilascio è atteso per il mese di marzo.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.