Google vuole estendere le ottimizzazioni del compilatore anche ai moduli del kernel Linux, non soltanto all'immagine principale del sistema. La proposta, presentata dagli ingegneri dell'azienda alla Linux Plumbers Conference 2026, riguarda tre tecniche basate su LLVM e punta a migliorare le prestazioni dei server Google e dei dispositivi Android.
Le tecniche sono PGO, AutoFDO e Propeller. PGO, sigla di Profile Guided Optimization, usa informazioni raccolte durante l'esecuzione di un programma per guidare il compilatore. AutoFDO ricava profili di esecuzione tramite campionamento hardware; Propeller usa a sua volta dati di profilo per orientare la disposizione del codice. In tutti e tre i casi, l'obiettivo è produrre codice più adatto ai carichi di lavoro reali.
I moduli richiedono un flusso di compilazione dedicato
Il kernel Linux è il componente centrale del sistema operativo, mentre i moduli sono parti di codice che possono essere caricate separatamente, per esempio per gestire hardware o funzioni specifiche. Applicare loro ottimizzazioni guidate dai profili richiede quindi un percorso distinto da quello usato per costruire l'immagine principale.
La presentazione di Google descrive le modifiche necessarie alla pipeline di compilazione: il processo deve raccogliere i profili durante l'esecuzione e poi integrarli nella compilazione dei moduli. Per semplificare questi passaggi, gli ingegneri propongono un'interfaccia unificata in Kbuild, il sistema che gestisce la compilazione del kernel. L'idea è rendere più semplice generare e usare i dati di profilo per i diversi moduli.
Le difficoltà sono già visibili nelle patch discusse nella lista di sviluppo del kernel. Una modifica di Kbuild disattiva le opzioni di AutoFDO e Propeller per i moduli, perché quelle modalità non li supportano ancora. La patch spiega che i flag potranno essere riattivati quando il supporto sarà pronto: oggi, lasciarli attivi non significa che i moduli vengano ottimizzati correttamente.
PGO deve superare un precedente rifiuto
Il lavoro sui moduli si affianca alla richiesta di portare PGO nell'albero principale del kernel, così che la funzionalità faccia parte del codice ufficiale mantenuto dal progetto. Linus Torvalds ha già respinto l'integrazione di PGO nel kernel principale. La proposta di Google dovrà quindi affrontare sia il problema tecnico del supporto ai moduli sia la questione dell'accettazione nel progetto upstream, cioè nella versione principale del kernel.
L'interesse per queste ottimizzazioni nasce anche dai risultati già presentati da Google. In un lavoro del 2024, l'azienda ha illustrato miglioramenti ottenuti ottimizzando il kernel con tecniche di feedback guidate dai profili, sia su microbenchmark sia su applicazioni eseguite su larga scala. Un successivo aggiornamento delle patch indicava miglioramenti delle prestazioni dal 2 al 10% per i sistemi Linux, attribuiti all'uso combinato di AutoFDO e Propeller. Quel dato riguarda il lavoro precedente e non misura i risultati della nuova proposta sui moduli.
Se il supporto verrà completato e accettato, le ottimizzazioni potranno raggiungere componenti del kernel che oggi restano fuori da questi percorsi di compilazione. Google le considera utili per la propria infrastruttura server e per Android; il prossimo passaggio concreto è sviluppare il supporto descritto alla conferenza e sottoporlo alla revisione della comunità del kernel.

Ancora nessun commento. Puoi essere il primo!