Linux 6.7 è già stato rilasciato e queste sono le sue novità

Tux, la mascotte del kernel Linux

Il kernel Linux è la spina dorsale dei sistemi operativi (OS) Linux ed è l'interfaccia fondamentale tra l'hardware di un computer ei suoi processi.

recentemente Linus Torvalds ha svelato il rilascio della nuova versione del kernel Linux 6.7, che viene presentato dopo due mesi di sviluppo e tra i cambiamenti più notevoli c'è l'integrazione del file system Bcachefs, l'interruzione del supporto per l'architettura Itanium, la capacità di Nouveau di lavorare con il firmware GSP-R, il supporto per la crittografia TLS in NVMe-TCP, tra le altre cose la possibilità di utilizzare eccezioni in BPF.

La nuova versione del kernel Linux 6.7 È composto da 15291 correzioni e circa il 45% di tutte le modifiche introdotte sono legate ai driver di dispositivo, il 14% delle modifiche sono legate all'aggiornamento di codice specifico per architetture hardware, il 13% sono legate allo stack di rete, il 5% sono legate ai file system e il 3% sono legati a sottosistemi interni del kernel.

La dimensione della patch è di 72 MB (le modifiche hanno interessato 13.467 file, sono state aggiunte 906.147 righe di codice e sono state rimosse 341.048 righe).

Principali novità del Linux Kernel 6.7

Integrazione del file system Bcachefs

Linux 6.7 adotta il codice del file system Bcachefs, che tenta di ottenere le prestazioni, l'affidabilità e la scalabilità di XFS, combinate con elementi delle funzionalità avanzate presenti in Btrfs e ZFS.

Bcachef supporta funzionalità come l'inclusione di più dispositivi su una partizione, design di unità multistrato (lo strato inferiore con i dati utilizzati di frequente basati su SSD veloci e lo strato superiore con i dati dei dischi rigidi meno utilizzati), replica (RAID 1/10), memorizzazione nella cache, compressione trasparente dei dati (modalità LZ4, gzip e ZSTD), tagli di stato, verifica dell'integrità tramite checksum, capacità di memorizzare codici di correzione errori Reed-Solomon (RAID 5/6), memorizzazione delle informazioni in forma crittografata (vengono utilizzati ChaCha20 e Poly1305) . In termini di prestazioni, Bcachefs è davanti a Btrfs e ad altri file system basato sul meccanismo copy-on-write e dimostra una velocità operativa vicina a Ext4 e XFS.

Miglioramenti in Btrfs

Su Linux 6.7 Per Btrfs è stata implementata una modalità quota semplificata che consente prestazioni migliori monitorando le estensioni solo nella sottopartizione in cui vengono create, which semplifica notevolmente i calcoli e migliora le prestazioni, ma non consente la condivisione delle estensioni tra più sottopartizioni. Inoltre, a Btrfs è stata aggiunta una nuova struttura dati stripe tree, adatta per la mappatura dell'estensione logica in situazioni in cui la mappatura fisica non corrisponde tra i dispositivi. La struttura è attualmente utilizzata nelle implementazioni RAID0 e RAID1 per dispositivi a blocchi suddivisi in zone.

Interruzione del supporto per l'architettura Itanium (ia64)

IL supporto per l'architettura ia64 utilizzata nei processori Intel Itanium, che cos'ènoi sospesi completamente nel 2021. Intel ha introdotto i processori Itanium nel 2001, ma l'architettura ia64 non è stata in grado di competere con AMD64, principalmente a causa delle prestazioni più elevate di AMD64 e della transizione più fluida dai processori x86 a 32 bit.  Linus Torvalds ha espresso la volontà di ricambiare il sostegno ia64 al kernel, ma sìsolo se c'è un manutentore che può dimostrare un'alta qualità di supporto per questa piattaforma fuori dal kernel principale per almeno un anno.

Migrazione continua delle modifiche dal ramo Rust-for-Linux

La nuova versione passa all'utilizzo della versione Rust 1.73 e offre una serie di hook per lavorare con le code di lavoro.

Miglioramenti nell'implementazione delle code FIFO 

In questa nuova versione di Linux 6.7 il implementazione di un meccanismo FIFO leggero connessioni singole che richiedono uno spinlock solo per la rimozione della coda in un contesto di processo e ne fanno a meno per aggiunte atomiche alla coda in qualsiasi contesto. Inoltre, è stato aggiunto un buffer circolare objpool con un'implementazione scalabile di una coda ad alte prestazioni per allocare e restituire oggetti.

Supporto crittografia TLS per NVMe-TCP

Su Linux 6.7 il driver NVMe-TCP (che consente di accedere alle unità NVMe sulla rete), Aggiunto supporto per crittografare il canale di trasmissione dati tramite TLS (utilizzando KTLS e un processo in background) nello spazio utente tlshd per la negoziazione della connessione.

Prestazioni migliorate dello scheduler dei pacchetti

Prestazioni ottimizzate dello scheduler dei pacchetti fq, che ha permesso di aumentare le prestazioni del 5% sotto carichi pesanti nel test tcp_rr (TCP Request/Response) e del 13% con un flusso illimitato di pacchetti UDP.

Adozione dell'opzione di autenticazione TCP

È stato aggiunto il supporto allo stack TCP per l'estensione TCP-AO che consente di controllare le intestazioni TCP utilizzando codici MAC, utilizzando algoritmi HMAC-SHA1 e CMAC-AES-128 più moderni invece dell'opzione TCP-MD5 precedentemente disponibile basata sull'algoritmo Legacy MD5 .

Del altre modifiche che risaltano:

  • Sono state aggiunte nuove impostazioni «cpuset.cpus.exclusive" e "cpuset.cpus.exclusive. Efficace» a cpuset per il collegamento esclusivo della CPU.
  • Il sottosistema BPF implementa il supporto per le eccezioni, che vengono elaborate come un'uscita di emergenza da un programma BPF con la possibilità di svolgere in modo sicuro gli stack frame. Inoltre, i programmi BPF consentono l'uso di puntatori kptr in connessione con la CPU.
  • Per le architetture ARM32 e S390x è stato aggiunto il supporto per il set corrente (cpuv4) di istruzioni BPF.
  • Per l'architettura RISC-V è possibile utilizzare la modalità di controllo Shadow-Call Stack disponibile in Clang 17, progettata per proteggere dalla sovrascrittura dell'indirizzo di ritorno di una funzione in caso di buffer overflow sullo stack.
  • Una nuova modalità di scansione intelligente delle pagine di memoria è stata aggiunta al meccanismo per unire pagine di memoria identiche (
  • AppArmor ha aggiunto la possibilità di controllare l'accesso al meccanismo io_uring e creare spazi dei nomi utente, consentendo di consentire selettivamente l'accesso a queste funzionalità solo a determinati processi.
  • Aggiunta API di certificazione VM per verificare l'integrità del processo di avvio della VM.
  • I sistemi LoongArch supportano la virtualizzazione utilizzando l'hypervisor KVM.
  • Aggiunto il supporto iniziale per il firmware GSP-RM al modulo kernel Nouveau, utilizzato nella GPU NVIDIA RTX 20+ per spostare le operazioni di inizializzazione e controllo dalla GPU al lato di un microcontroller GSP

finalmente se lo sei interessati a saperne di più, puoi controllare i dettagli nel seguente link