Rilasciato il kernel Linux 6.13, ecco le novità
Il kernel Linux 6.13 introduce la prelazione differita, le scritture atomiche in XFS/Ext4, la virtualizzazione ARM64 migliorata, le API avanzate per i dispositivi di rete e altro ancora.
Linus Torvalds ha annunciato il rilascio ufficiale del nuovo kernel Linux 6.13 con un aggiornamento spensierato: "Quindi non è successo nulla di orribile o inaspettato la scorsa settimana, quindi ho taggato e pubblicato la versione finale 6.13."Ora, lascia che ti guidi attraverso gli aggiornamenti chiave e le funzionalità che porta.
Uno dei miglioramenti più discussi nel kernel 6.13 è l'introduzione della prelazione pigra, un compromesso intelligente tra la modalità volontaria convenzionale e la modalità di prelazione completa.
Mentre la prelazione volontaria scambia una certa reattività con prestazioni migliorate e la prelazione completa garantisce cambi di attività quasi istantanei a un potenziale costo in termini di prestazioni, la prelazione pigra mira a fornire più opportunità di prelazione rispetto alla modalità volontaria senza il sovraccarico della prelazione completa.
Un altro prezioso miglioramento in questa versione è il supporto per le scritture atomiche in XFS, Direct I/O di Ext4 e alcune modalità md RAID. Se supportati da hardware in grado di combinare in modo sicuro più settori in un'unica operazione atomica, questi file system possono aggiornare i dati in modo più efficiente e affidabile.
Il kernel Linux 6.13 mostra anche miglioramenti nelle prestazioni di rete, in particolare tramite la sospensione NAPI, introducendo un metodo che passa automaticamente da uno all'altro, garantendo che i sistemi rimangano efficienti quando il traffico è leggero e mitigando anche il sovraccarico quando la domanda di rete aumenta.
I team di networking apprezzeranno la nuova API flessibile del dispositivo per la configurazione del shaping hardware di trasmissione (TX H/W shaping). Grazie alle funzionalità di introspezione integrate, gli sviluppatori possono ora interrogare l'hardware per le opzioni disponibili e ottimizzare le policy di shaping per ottimizzare il pacing dei pacchetti, l'utilizzo della larghezza di banda o la qualità del servizio per diversi profili di traffico.
Dal punto di vista della sicurezza, le pagine di guardia sono sempre state un modo pulito per catturare accessi indesiderati o accidentali alla memoria attivando un segnale fatale ogni volta che vengono toccati. Tuttavia, la loro implementazione richiedeva in genere un elevato sovraccarico di allocazione della memoria.
Questa sfida è stata risolta nel kernel 6.13 con pagine di protezione leggere, introdotte tramite il nuovo flag MADV_GUARD_INSTALL
per la chiamata di sistema madvise().
io_uring, l'interfaccia I/O asincrona che ha suscitato entusiasmo sin dal suo debutto, riceve diversi perfezionamenti in questo ciclo, tra cui:
- Ridimensionamento dell'anello: le app possono ora iniziare con un piccolo buffer ad anello ed espanderlo senza problemi se la domanda cresce.
- Clonazione parziale del buffer: invece di clonare l'intera tabella del buffer, gli sviluppatori possono scegliere di duplicare solo la sezione necessaria.
- Polling I/O ibrido: metodo per ridurre lo spreco della CPU introducendo un breve periodo di sospensione prima del polling attivo.
Sul fronte ARM, Linux 6.13 porta due aggiunte straordinarie:
- Arm Confidential Compute Architecture (CCA): i sistemi basati su ARM possono ora eseguire Linux all'interno di una VM protetta sotto CCA, rafforzando l'isolamento guest e difendendosi da una gamma più ampia di attacchi.
- Shadow Stack in spazio utente: spesso indicata come Guarded Control Stack (GCS) nella documentazione di ARM, questa funzionalità protegge gli indirizzi restituiti in uno stack protetto dall'hardware. È progettato per contrastare gli attacchi ROP (Return-Oriented Programming) e per semplificare la profilatura e il debug fornendo il monitoraggio automatico dello stack di chiamate.
Ultimo ma non meno importante, le operazioni interne sui file del kernel ora beneficiano di un nuovo meccanismo di conteggio referenziato. I benchmark suggeriscono un aumento delle prestazioni del 3-5% nei sistemi che gestiscono un numero elevato di thread, un miglioramento gradito negli ambienti che aprono, chiudono e modificano costantemente i file.
Naturalmente, come per ogni nuova versione del kernel, ci sono innumerevoli altre modifiche sotto il cofano, tra cui:
- Aggiornamenti alla gestione della memoria per una gestione più efficiente delle pagine.
- Miglioramenti dei driver per audio, archiviazione, rete e altro ancora.
- Perfezionamenti nei componenti di virtualizzazione, dalle espansioni delle architetture AMD e Intel ai miglioramenti KVM su ARM64.
- Nuove richieste pull e ulteriori modifiche al codice che migliorano la stabilità e la versatilità complessive del kernel.
Se vuoi esplorarli in dettaglio, considera di controllare i rapporti della finestra di fusione LWN (Parte 1 e Parte 2) o guarda tutte le fusioni nel registro git commit di Torvald. Per coloro che desiderano compilare il kernel Linux 6.13 da soli, è ora disponibile per il download su kernel.org.