Il “dittatore benevolo†di Linux, ovvero Linus Torvalds, non è sempre impegnato in dispute verbali riguardanti il kernel Linux, ma contribuisce ancora attivamente alla scrittura di codice e all’introduzione di miglioramenti significativi. Nonostante la sua reputazione di avere un carattere forte e schietto, Torvalds dedica ancora gran parte del suo tempo allo sviluppo del kernel Linux, apportando ottimizzazioni e correggendo bug. Di recente, ha integrato una patch (correzione) che ha migliorato le prestazioni del kernel Linux.
Mercoledì, Linus Torvalds ha integrato una patch da lui stesso sviluppata, che apporta un miglioramento del 2,6% nei test di benchmark “will it scaleâ€, che sono utilizzati per misurare come le prestazioni del sistema si comportano sotto carico. Il test valuta le operazioni per thread (per-thread-ops) su architetture Intel. Un thread, o “filo di esecuzioneâ€, è una sequenza di comandi che può essere eseguita indipendentemente da altre sequenze all’interno di un processo. In pratica, i thread permettono al sistema di eseguire più operazioni simultaneamente, migliorando l’efficienza e la reattività del sistema. Questo incremento del 2,6% indica che il kernel Linux ora gestisce meglio queste operazioni simultanee, portando a una maggiore velocità e fluidità durante l’uso di processori Intel.
Questa patch si basa su una modifica precedente proposta dallo sviluppatore del kernel Linux, Josh Poimboeuf, mirata ad eliminare l’uso della funzione barrier_nospec()
all’interno della funzione copy_from_user()
a 64 bit.
Dettagli Tecnici
Nella patch, Torvalds sottolinea che “l’uso di barrier_nospec()
in copy_from_user()
a 64 bit è inefficienteâ€. Propone quindi di utilizzare il mascheramento dei puntatori per forzare il puntatore utente a tutti 1 per un indirizzo non valido. Questa strategia non solo semplifica il codice, ma contribuisce anche a migliorare le prestazioni complessive.
La funzione copy_from_user() è fondamentale nel sistema operativo Linux, poiché consente di copiare blocchi di dati dallo spazio utente (dove operano le applicazioni) allo spazio kernel (dove opera il sistema operativo). L’ottimizzazione proposta potrebbe avere un impatto significativo non solo sui benchmark sintetici, ma anche su carichi di lavoro reali.
Implicazioni della Mitigazione Spectre
Ogni piccola ottimizzazione nel kernel Linux contribuisce a migliorare l’efficienza generale del sistema. In particolare, questa modifica è significativa in quanto riduce il sovraccarico associato all’uso di barrier_nospec()
, una funzione progettata per mitigare vulnerabilità come Spectre. Quest’ultima rappresenta una serie di attacchi che sfruttano la esecuzione speculativa, una tecnica utilizzata dai moderni processori per aumentare le prestazioni. Le mitigazioni implementate negli anni hanno comportato costi significativi in termini di prestazioni, rendendo quindi questa ottimizzazione particolarmente rilevante.
Integrazione nel Codice Sorgente
La patch è stata integrata nel sistema di controllo versione Git di Linux e sarà inclusa nella versione 6.12-rc6 del kernel Linux, prevista per domenica prossima. Questa versione rappresenta un passo verso la versione stabile 6.12, che verrà rilasciata nella seconda metà di novembre.
Fonte: https://www.phoronix.com/news/Linus-2.6p-Faster-Scale-Patch
Source: Read More