Il nome dato da Linus Torvalds al proprio ramo di sviluppo, noref-filemap-read-with-llm, non lascia spazio a interpretazioni: l’intelligenza artificiale è stata protagonista della modifica. A produrre il codice è stato Claude Code di Anthropic, che ha anche scritto i test, analizzato i problemi ancora aperti e redatto una prima versione della lettera di accompagnamento. I benchmark sono invece stati eseguiti personalmente da Torvalds sulla propria macchina. Si tratta della prima volta in cui il mantainer di Linux riconosce il contributo di un agente AI su un intervento che tocca la gestione della memoria del kernel, un salto di qualità rispetto agli impieghi passati, confinati al debugging.
Il lavoro riguarda la cache delle pagine, l’area di RAM dove il kernel tiene copia dei file letti di recente. Quando più thread accedono a piccoli frammenti di uno stesso file, ogni operazione di lettura acquisisce e poi rilascia un riferimento sulla pagina coinvolta: due scritture atomiche sulla medesima linea di cache, che i core si contendono.
Gli approcci tentati in passato copiavano i dati in un buffer privo di riferimento, convalidando poi il risultato a posteriori, ma andavano incontro a race condition invisibili a quella verifica, per esempio una pagina liberata e poi reimmessa allo stesso indice. La strada scelta da Torvalds rimuove la radice del problema: una pagina uscita dalla cache non torna all’allocatore se non dopo un periodo di grazia. In questo modo un lettore può copiare direttamente verso il buffer utente, senza riferimento e senza alcun limite sulla dimensione di lettura.
Secondo Hwbusters, i numeri sono significativi: “Con otto thread su un file, il costo kernel per lettura scende da circa 2.950 a 725 cicli e il throughput passa da circa 10 milioni a 30-33 milioni di letture al secondo”. Con un solo thread, il miglioramento si attesta nell’ordine del 10%.
Un ramo non ancora integrato nel kernel
Il ramo poggia su Linux 7.3-rc6 e per ora nessuna parte della modifica è stata inclusa nel kernel: chi usa Ubuntu o qualunque altra distribuzione non noterà alcun cambiamento. Torvalds auspica guadagni più ampi su macchine di dimensioni maggiori o multi-socket, ma non ha condotto test in tal senso.
Il contrasto con le sue dichiarazioni di due anni fa è evidente: “A ottobre 2024 Torvalds riassumeva l’industria dell’AI come 90% marketing e 10% realtà”. Il mantainer continua a opporsi all’idea che un’intelligenza artificiale firmi il codice al posto dello sviluppatore, e la questione resta divisiva nell’ecosistema open source: uno sviluppatore ha dato le dimissioni in modo clamoroso quando Debian ha ammesso il codice generato dall’AI. Resta da capire come reagiranno i manutentori della gestione della memoria all’arrivo della serie di patch.