Linus Torvalds ha annunciato il rilascio del kernel Linux 6.11, una versione cruciale che sarà presente di default in Ubuntu 24.10 e che sarà poi portata come HWE (Hardware Enablement) anche in Ubuntu 24.04.2 LTS all’inizio del prossimo anno.
La pubblicazione delle nuova importante release del kernel Linux arriva pochi giorni prima del Linux Kernel Maintainer Summit, in programma a Vienna. Riassumiamo quindi le principali novità della release al debutto sulle distribuzioni del pinguino.
Miglioramenti per il supporto dei chip AMD
Una delle novità più rilevanti per i processori AMD è l’introduzione, a livello kernel, del controllo AMD Core Performance Boost all’interno del driver AMD P-State. Questo aggiornamento consente agli utenti di gestire più precisamente il comportamento delle frequenze “turbo” per ogni singolo core, offrendo una maggiore flessibilità nell’ottimizzazione delle prestazioni.
Il driver AMD P-State, inoltre, supporta la funzione Fast CPPC (Collaborative Processor Performance Control), progettata per i processori Ryzen più recenti (architettura Zen 4). La tecnologia migliora l’efficienza energetica e le prestazioni, con guadagni che variano tra il 2% e il 6%, a seconda dei carichi di lavoro, senza aumentare i consumi.
Un altro miglioramento significativo riguarda la velocità delle operazioni di cifratura e decifratura AES-GCM, che risultano essere fino al 160% più veloci sui processori AMD e Intel moderni. Il balzo in avanti è frutto del lavoro dello sviluppatore Google che in passato si era già fatto carico di ottimizzare le performance AES-XTS nella release 6.10 del kernel.
Infine, il kernel 6.11 introduce il supporto per l’esecuzione di kernel x86 come guest utilizzando la funzionalità di virtualizzazione criptata AMD SEV-SNP tramite KVM: la tecnologia migliora significativamente la sicurezza delle macchine virtuali.
Le innovazioni sul versante dei processori Intel
Sul fronte Intel, i maintainer del kernel Linux hanno applicato molteplici aggiornamenti al fine di ottimizzare il supporto dei chip Lunar Lake, compreso il “sottosistema delle prestazioni” (perf) per il monitoraggio delle performance. Un’altra novità riguarda il reporting delle limitazioni prestazionali dei processori Intel attraverso il driver TPMI (Thermal Power Management Interface), ora accessibile direttamente dallo user space tramite DebugFS.
La disponibilità dei dati attraverso lo user space (spazio utente) è importante perché applicazioni e processi possono interagirvi senza avere accesso diretto alle risorse hardware o ai privilegi di sistema. La funzione appena introdotta espone i dettagli sulle eventuali cause che impediscono a un core di raggiungere le prestazioni attese, un’analisi utile soprattutto per chi desidera diagnosticare problematiche legate alla gestione termica.
Per quanto riguarda l’intelligenza artificiale, il kernel ha migliorato il supporto per le NPU (Neural Processing Unit) nei chipset Meteor Lake e successivi, con il driver in-kernel iVPU che ora supporta anche lo scheduling hardware e il profiling.
Lo scheduling hardware si riferisce alla capacità del processore o del sistema di gestire e assegnare in modo efficiente i compiti alle risorse hardware disponibili senza intervento diretto da parte del software. Il profiling, invece, è il processo di raccolta dei dati sulle prestazioni del sistema o di un componente hardware durante l’esecuzione di un’operazione. Nel caso delle NPU, il profiling consente di monitorare come vengono utilizzate le risorse della NPU, identificando potenziali colli di bottiglia, inefficienze o punti di miglioramento.
In ambito server, i sistemi Intel con kernel Linux 6.11 possono finalmente beneficiare del Sub-NUMA Clustering, che migliora le performance con carichi di lavoro NUMA anche quando è abilitata la Intel Resource Director Technology (RDT), risolvendo i conflitti tra queste due tecnologie.
La sfida dell’accesso alla memoria e il miglioramento delle prestazioni
NUMA (Non-Uniform Memory Access) è un’architettura di memoria in cui la latenza di accesso dipende dalla posizione fisica della memoria rispetto al processore. Questo significa che un processore può accedere più velocemente alla memoria locale (quella situata fisicamente vicino a lui) rispetto a quella remota (associata ad altri processori). NUMA gestisce in modo efficiente sistemi con più core, migliorando le prestazioni attraverso la riduzione dei tempi di accesso alla memoria.
Sub-NUMA Clustering (SNC) è una tecnologia Intel che suddivide un singolo nodo NUMA in più cluster logici, ciascuno dei quali abbraccia una porzione della memoria locale. Questa suddivisione permette di ottimizzare ulteriormente le prestazioni di carichi di lavoro intensivi, riducendo la competizione per le risorse e migliorando l’efficienza nell’accesso alla memoria. SNC rende la gestione della memoria ancora più fine-granulare, permettendo di suddividere il carico tra più cluster.
Ancora, RDT è una suite di tecnologie hardware che consente di monitorare e controllare l’allocazione delle risorse nei processori Intel. Queste risorse includono, ad esempio, la cache di livello L3 e la memoria. RDT permette di isolare e gestire meglio l’utilizzo delle risorse per specifici carichi di lavoro, migliorando la qualità del servizio (QoS) e riducendo il conflitto tra le applicazioni che competono per le stesse risorse.
Prima del kernel Linux 6.11, c’erano problemi di compatibilità quando si tentava di utilizzare SNC e RDT contemporaneamente. Entrambe queste tecnologie cercavano di gestire e ottimizzare le stesse risorse di sistema (ad esempio, la cache e la memoria), ma in modi diversi, causando conflitti e riduzioni delle prestazioni. Con il kernel Linux 6.11, i problemi sono stati risolti, permettendo di utilizzare sia SNC che RDT.
Supporto per ARM e RISC-V
Il kernel 6.11 introduce alcune correzioni per i dispositivi ARM64, come la possibilità di installare immagini del kernel compresse e il supporto per la gestione del calore e del carico della CPU tramite ACPI.
Per quanto riguarda RISC-V, il nuovo kernel del pinguino aggiunge il supporto per il memory hot plugging, sia fisico che virtuale, un importante passo avanti per la gestione dinamica della memoria. Altri miglioramenti includono l’aggiunta di nuove estensioni ISA, il supporto per la sicurezza STACKLEAK e il supporto NUMA iniziale.
I sistemi basati su RISC-V diventano così più scalabili e sicuri, migliorando al contempo la loro capacità di gestione della memoria sia in ambienti fisici che virtualizzati.
Protagoniste anche le funzionalità aggiuntive dei dispositivi Lenovo Yoga e Chromebook
La versione 6.11 del kernel amplia notevolmente il supporto hardware per diversi dispositivi. Tra i più rilevanti troviamo il Lenovo Yoga C630 WOS, un laptop ARM che ora gode di un nuovo driver per il controller embedded: Linux adesso può abilitare il supporto per la gestione della batteria e altre funzioni energetiche.
Anche alcuni dispositivi Chromebook beneficiano di nuovi driver. Ad esempio, cros_ec_hwmon ora espone la velocità delle ventole e le temperature sui Chromebook più recenti, mentre il driver cros_charge-control consente di impostare una soglia di carica ricorrendo a sysfs
.
Inoltre, il kernel 6.11 introduce il supporto per diverse tavolette grafiche di fascia economica, come la Huion Inspiroy 2S e la XP-PEN Deco Mini 4, rendendole immediatamente compatibili. Si tratta di un importante passo avanti per gli utenti che si servono abitualmente di software quali Krita e Blender.
Note finali
Oltre alle migliorie già elencate, Linux 6.11 include diverse novità piuttosto rilevanti. Innanzi tutto, nonostante le accese polemiche dei giorni scorsi, Rust e Linux diventa una coppia sempre più salda.
Il kernel non impedirà più la scrittura su file eseguibili in uso, ottimizza le performance del file system EXT4, con miglioramenti fino al 20% su dispositivi veloci grazie all’I/O diretto asincrono, abbraccia il supporto esteso per il file system NTFS3 – inclusi gli attributi “compressed” e “immutable” -, interviene sul recupero del file system Btrfs.
Credit immagine in apertura: Microsoft Copilot Designer