Da scettico a utilizzatore: il cambiamento di Torvalds

Linus Torvalds, il creatore e mantenitore del kernel Linux, ha pubblicato una serie di otto patch per il kernel Linux scritti con l'aiuto di Claude Code, l'assistente di programmazione di Anthropic. Questo sviluppo è stato notato da Michael Larabel, fondatore di Phoronix, un sito specializzato in Linux, il 11 ottobre nel deposito personale di Torvalds.

Nel messaggio che accompagna i patch, Torvalds spiega che il codice, i programmi di test, la revisione e il primo draft del testo sono stati realizzati "con un assistente di codice IA (Claude Code) sotto la mia direzione". Le misurazioni delle prestazioni, invece, sono state eseguite da Torvalds sulla sua macchina personale.

Il kernel Linux è alla base della maggior parte dei server web e di tutti gli smartphone Android. Ogni modifica subisce una revisione rigorosa. Con questo patch, gli oppositori del codice generato da IA perdono un alleato di peso.

Il cambiamento di opinione di Torvalds

In ottobre 2024, durante l'Open Source Summit di Vienna, Torvalds aveva descritto l'industria dell'IA come "90% marketing e 10% realtà". In seguito, ha criticato i rapporti di bug generati da IA che affollano i mantenitori. Tuttavia, il suo discorso è cambiato nel tempo.

Torvalds ha iniziato a utilizzare l'IA per il debug del kernel e ha sperimentato il "vibe coding" con Antigravity, lo strumento di Google, anche se fuori dal kernel. Tuttavia, ha sempre rifiutato che l'IA firmi il codice al posto del sviluppatore. Recentemente, ha presentato questi strumenti come una buona porta d'ingresso per i giovani programmatori.

Il mondo Linux è diviso sull'argomento. Quando Debian ha autorizzato il codice prodotto da IA, un sviluppatore ha rassegnato le dimissioni con clamore. Le distribuzioni seguono linee diverse, come Ubuntu.

Ottimizzazione del cache delle pagine

Il patch si concentra sul cache delle pagine, la zona di memoria viva dove il kernel conserva i file letti di recente per evitare di doverli recuperare dal disco. Quando più thread leggono contemporaneamente piccoli pezzi dello stesso file, ogni lettura modifica un contatore sulla pagina interessata, causando rallentamenti.

Torvalds ha risolto questo problema utilizzando il meccanismo RCU (Read-Copy-Update), che ritarda la liberazione della memoria finché un programma può ancora leggerla. Una sicurezza obbliga il kernel a liberare queste pagine non appena più di 1.024 di esse attendono su un core logico.

Torvalds ha testato il patch sul suo portatile con un processore Intel Core i7-8565U del 2018. Con otto thread che leggono 16 byte alla volta, il throughput è passato da circa 10 milioni a 30-33 milioni di letture per secondo. Il lavoro del kernel per ogni lettura è diminuito da 2.950 a 725 cicli del processore, quattro volte meno.

Controindicazioni e futuro del patch

Questo guadagno ha una controparte. Quando un singolo thread scrive il risultato di una lettura in una zona di memoria che il programma non ha ancora utilizzato, l'operazione passa da circa 4.150 a 6.550 cicli, quasi il 60% in più. Nel caso più comune, una lettura da parte di un singolo thread diventa invece il 10% meno costosa.

Al momento, nulla è stato fuso nel kernel ufficiale. Che si utilizzi Ubuntu o una distribuzione più recente come Omarchy, nulla cambia. La branch parte da Linux 7.3-rc6, ma non è ancora chiaro se entrerà in Linux 7.4. La finestra di fusione per questa versione si aprirà con il rilascio di Linux 7.3, la cui settima preview è stata pubblicata l'11 ottobre.