Linux 6.1 arriva con Rust, miglioramenti delle prestazioni, driver e altro ancora

Kernel Linux

Kernel Linux

Dopo due mesi di sviluppo, Linus Torvalds ha annunciato il rilascio della nuova versione del kernel Linux 6.1, in cui tra i cambiamenti più notevoli: supporto per lo sviluppo di driver e moduli nel linguaggio Rust, modernizzazione del meccanismo per determinare le pagine di memoria utilizzate, uno speciale gestore della memoria per i programmi BPF, il sistema diagnostico dei problemi della memoria KMSAN, il meccanismo di protezione KCFI (Kernel Control -Flow Integrity), l'introduzione della struttura ad albero in acero.

La nuova versione ha ricevuto 15115 correzioni dagli sviluppatori del 2139, la dimensione della patch è di 51 MB, che è circa 2 volte inferiore alla dimensione delle patch del kernel 6.0 e 5.19.

Principali novità in Linux 6.1

In questa nuova versione del Kernel che viene presentata, possiamo trovarlo aggiunta la possibilità di utilizzare Rust come seconda lingua per sviluppare driver e moduli del kernel. Il motivo principale alla base del supporto di Rust è semplificare la scrittura di driver di dispositivo sicuri e di alta qualità, riducendo le possibilità di errori di memoria.

Il supporto Rust è disabilitato per impostazione predefinita e non causa l'inclusione di Rust come dipendenza richiesta per la compilazione del kernel. Finora, il kernel ha adottato una versione di patch minimale e ridotta, che è stata ridotta da 40 a 13 righe di codice e fornisce solo il minimo indispensabile, sufficiente per costruire un semplice modulo del kernel scritto in Rust.

In futuro, si prevede di aumentare gradualmente la funzionalità esistente, portando altre modifiche dal ramo Rust-for-Linux. Parallelamente, sono in fase di sviluppo progetti per utilizzare l'infrastruttura proposta per sviluppare controller del disco NVMe, il protocollo di rete 9p e la GPU Apple M1 su Rust.

Un altro cambiamento notevole è in AArch64, RISC-V e LoongArch con EFI, dove è implementata la possibilità di caricare direttamente immagini del kernel compresses, oltre a quello che hanno aggiunto driver per il caricamento, l'esecuzione e il download delle immagini del kernel, chiamato direttamente da EFI zboot.

Sono stati aggiunti anche i driver per l'installazione e la rimozione dei protocolli dal database dei protocolli EFI. In precedenza, la decompressione veniva eseguita da un bootloader separato, ma ora può essere eseguita da un driver nel kernel stesso: l'immagine del kernel è creata come un'applicazione EFI.

parte delle toppe è stato adottato con l'implementazione di un modello di gestione della memoria di vari livelli che consente banchi di memoria separati con diverse caratteristiche prestazionali. Ad esempio, le pagine utilizzate di frequente possono essere archiviate nella memoria più veloce, mentre le pagine utilizzate meno frequentemente possono essere archiviate in una memoria relativamente lenta. Il kernel 6.1 adotta un meccanismo per determinare se le pagine molto utilizzate si trovano nella memoria lenta per spostarle nella memoria veloce e implementa il concetto generale di livelli di memoria e le relative prestazioni.

Oltre a questo, possiamo trovare anche quello aggiunta al sottosistema BPF la possibilità di creare programmi BPF "distruttivi". specificamente progettato per innescare un arresto anomalo tramite la chiamata crash_kexec(). Tali programmi BPF potrebbero essere necessari per scopi di debug per attivare la creazione di un dump della memoria in un determinato momento. L'accesso alle operazioni distruttive durante il caricamento di un programma BPF richiede la specifica del flag BPF_F_DESTRUCTIVE, l'impostazione di sysctl kernel.destructive_bpf_enabled e l'impostazione dei diritti CAP_SYS_BOOT.

sono stati fattio Ottimizzazioni significative delle prestazioni sul filesystem BtrfsTra le altre cose, le prestazioni delle operazioni fiemap e lseek sono aumentate di ordini di grandezza (il controllo delle estensioni condivise è stato velocizzato di 2-3 volte e la modifica della posizione nei file è stata accelerata di 1.3-4 volte). Anche, velocizzato il journaling degli inode per le directory (aumento delle prestazioni del 25% e riduzione della latenza del 21% in dbench), l'I/O con buffer è stato migliorato e il consumo di memoria è stato ridotto.

Ext4 aggiunge ottimizzazioni delle prestazioni relativo al journaling e alle operazioni di sola lettura, rimosso il supporto per gli attributi deprecati noacl e nouser_xattr, anche in EROFS (Enhanced Read-Only File System), progettato per l'uso su partizioni di sola lettura, implementa la possibilità Set di archiviazione di dati duplicati in file diversi sistemi.

Del altre modifiche che risaltano:

  • Aggiunto il supporto per i sottosistemi audio implementati nei processori Apple Silicon, Intel SkyLake e Intel KabyLake.
  • Il controller audio HDA ​​CS35L41 supporta la modalità di sospensione.
  • Aggiunto il supporto per i controller AHCI SATA utilizzati nel SoC Baikal-T1.
  • Aggiunto il supporto per i chip Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, connettività integrata), Realtek RTL8852C, RTW8852AE e RTL8761BUV (Edimax BT-8500).
  • Aggiunti driver per tastiera PinePhone, touchpad InterTouch (ThinkPad P1 G3), controller adattivo X-Box, controller di volo PhoenixRC, controller per auto VRC-2, controller DualSense Edge, pannelli operativi IBM, XBOX One Elite, tablet XP-PEN Deco Pro S e Intuos Pro piccola (PTH-460).
  • Aggiunto driver per acceleratori crittografici Aspeed HACE (Hash and Crypto Engine).
  • Aggiunto il supporto per i controller Intel Meteor Lake Thunderbolt/USB4 integrati.
  • Aggiunto il supporto per gli smartphone Sony Xperia 1 IV, Samsung Galaxy E5, E7 e Grand Max, Pine64 Pinephone Pro.
  • SoC ARM compatibile con AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 e RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. Informazioni su SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom e NXP.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.