Linus Torvalds migliora lo spazio utente di Linux 6.13

Linus Torvalds migliora lo spazio utente di Linux 6.13

Linux 6.13 implementerà una nuova patch realizzata da Linus Torvalds per migliorare ulteriormente lo spazio utente.
Linus Torvalds migliora lo spazio utente di Linux 6.13
Linux 6.13 implementerà una nuova patch realizzata da Linus Torvalds per migliorare ulteriormente lo spazio utente.

Tra le diverse richieste di inserimento inviate nel corso della finestra di unione di Linux 6.13, attualmente nel pieno del suo sviluppo, c’è una nuova patch realizzata da Linus Torvalds destinata a migliorare ulteriormente lo spazio utente in questa nuova versione del kernel, attesa per il rilascio tra i mesi di gennaio e febbraio del 2025.

Linux 6.13 migliora lo spazio utente grazie a Linus Torvalds

Torvalds torna a ottimizzare il suo kernel con una nuova patch per Linux 6.13, dopo aver fatto lo stesso giusto un mese e mezzo fa con la versione 6.12 dove ne aveva migliorato ulteriormente le prestazioni. Questa volta la novità partorita riguarda il miglioramento dell’accesso allo spazio utente all’interno del codice Futex.

Lo stesso Torvalds ha spiegato nel dettaglio la sua patch, specificando che:

“Josh Poimboeuf segnala di aver ricevuto un report “will-it-scale.per_process_ops 1.9% improvement” per la sua patch che ha modificato __get_user() per usare il pointer masking invece della barriera esplicita di speculazione. Tuttavia, quella patch non funziona effettivamente nel caso generale, perché parte del codice (molto scadente) specifico dell’architettura dipende in realtà dal fatto che __get_user() funzioni anche sugli indirizzi del kernel.

 

Un profilo ha mostrato che il __get_user() incriminato era il codice futex, che dovrebbe essere davvero sistemato per non usare quell’orribile caso legacy. Riscrivi futex_get_value_locked() per usare gli helper di accesso utente moderni e incorporalo in modo che il compilatore non solo eviti la chiamata di funzione per alcune istruzioni, ma possa anche fare CSE sul mascheramento degli indirizzi.

 

Si scopre anche che le funzioni futex x86 hanno barriere non necessarie in altri punti, quindi sistemiamo anche quelle.”

Trovata la causa proprio nel codice Futex, Linux si è quindi occupato di ripulirlo per bene, riducendolo a sole poche decide di righe. Nonostante lo sviluppatore citato nella spiegazione, che ha anche lavorato sulla patch di ottimizzazione, dica di non aver ancora avuto la possibilità di testare la modifica, egli stesso afferma che il codice sembra già abbastanza corretto.

Naturalmente la patch rappresenta soltanto uno dei tanti miglioramenti che il kernel Linux 6.13 porterà con se, come il supporto per le schede SD con capacità elevata e tanto altro.

Link copiato negli appunti

Ti potrebbe interessare

Pubblicato il
27 nov 2024
Link copiato negli appunti