Siamo in dirittura d’arrivo per la prima release candidate per Linux v6.0: ma questa volta il cambio di major release non corrisponde ad un incremento notevole di feature, come ci si aspetterebbe – anche se, per il kernel, questo significa “appena” più di 800 merge e 13.5 non-merge commit. Per il resto, Linux 6.0 è sostanzialmente identico alla 5.19. Il motivo principale, a detta di Linus Torvalds, è stato:
“Despite the major number change, there’s nothing fundamentally different about this release – I’ve long eschewed the notion that major numbers are meaningful, and the only reason for a ‘hierarchical; numbering system is to make the numbers easier to remember and distinguish”
“A dispetto del cambio del major number, non c’è praticamente niente di differente in questa release: ho da tempo evitato di considerare il fatto che il major number abbia una vera importanza, a parte il fatto che il sistema gerarchico di numerazione rende i numeri più facili da ricordare e distinguere”La release date target per la 6.0 sarà per i primi giorni di Ottobre: la maggior parte degli sviluppi riguardano il networking e dei miglioramenti sulla gestione della GPU, sulla gestione dell’ACPI, e un supporto migliore delle architetture RISC-V.
Per quanto riguarda l’inclusione come secondo linguaggio nel Kernel di Rust, il cui sviluppo è portato avanti da Miguel Ojeda con il supporto di Google e l’Internet Security Reseach Group, purtroppo non è stato possibile includere la patch series v8 in questa merge window; ma di sicuro questa verrà a breve introdotta nella prossima minor release. Tra le feature che saranno introdotte:
- Sempre più syscalls e funzionalità del Kernel potranno essere accedute da codice Rust
- La toolchain verrà aggiornata alla 1.62
- I kernel binding verranno spostati alla loro “crate” in modo da migliorare i tempi di compilazione
- Miglioramenti nelle performance di rust-analyzer
- Verrà introdotto il nuovo modulo “fs”
- Supporto per le workqueue
- Gestione degli interrupt direttamente da Rust
- Supporto RCU
Questo significa che a tendere sarà possibile scrivere driver di periferica direttamente in Rust sul Kernel mainline, con conseguenti miglioramenti di stabilità e facilità di manutenzione. Attendiamo ovviamente i benchmark sulle performance!