Selon un message posté par Linus Torvalds sur la Linux Kernel Mailing List, le créateur de Linux s’est servi de Claude Code, l’assistant de programmation d’Anthropic, pour préparer une série de huit correctifs du noyau Linux. Leur cible: un problème de performances dont la communauté parle depuis 2024. Le fait que Torvalds le dise lui-même retient l’attention, lui qui s’est longtemps montré très réservé face aux outils de génération de code. Mais le fond du sujet est surtout là: ces patches visent un souci bien identifié, capable de ralentir très nettement de petites lectures concurrentes sur un même fichier déjà présent en cache.
Linux: des correctifs pour un goulot d’étranglement du page cache
Le sujet revient dans les discussions autour de Linux depuis 2024, en particulier sur la Linux Kernel Mailing List. En pratique, comme l’explique Linus Torvalds, quand plusieurs threads lisent de toutes petites portions d’un même fichier déjà en mémoire, ils finissent par se marcher dessus à cause de structures du noyau qu’ils partagent.
Plus précisément, d’après Torvalds, le point sensible se trouve dans le comptage de références des « folios », un mécanisme rattaché au page cache.
À chaque petite lecture répétée, le noyau déclenche des écritures atomiques sur une même ligne de cache partagée dans le scénario qu’il décrit. Et là, les cœurs du processeur entrent en compétition pour cette ligne mémoire, ce qui fait sérieusement chuter les performances sur des machines multicœurs.
L’exemple donné par Linus Torvalds parle de lui-même.
Sur un PC portable équipé d’un Intel Core i7-8565U à 4 cœurs et 8 threads, avec huit threads lançant des appels `pread()` de 16 octets sur une même page, cette seule ligne de cache représentait 99,92 % du trafic inter-cœurs mesuré de type HITM, d’après les chiffres qu’il a partagés. En clair, presque toute l’activité parasite venait de ce seul point.
Comment la nouvelle approche contourne le blocage
D’après la série de patches publiée par Linus Torvalds sur la Linux Kernel Mailing List, les correctifs modifient la façon dont la mémoire du page cache est réutilisée.
Au lieu de renvoyer tout de suite la mémoire supprimée à l’allocateur, ils repoussent cette réutilisation jusqu’à la fin d’une période de grâce RCU, pour « read-copy-update ».
D’après Torvalds, cette méthode permet aux lecteurs protégés par RCU de copier les données vers les tampons utilisateur sans devoir reprendre une référence de folio à chaque passage.
En retirant une bonne partie de ces opérations atomiques sur une zone mémoire partagée, le noyau réduit la contention entre cœurs.
Les premiers chiffres remontés dans les essais ont de quoi faire lever un sourcil.
Dans les tests cités par Linus Torvalds, le débit des petites lectures serait passé d’environ 10 millions à plus de 30 millions d’opérations par seconde. Pour certains usages très parallèles, on parle d’un gain bien concret, pas d’une simple amélioration élégante sur le papier.
Un tournant pour Torvalds, et un débat toujours vif
Cette publication dit aussi quelque chose de l’évolution du ton de Linus Torvalds. Il semble adopter une position plus pragmatique vis-à-vis des assistants de programmation, tout en répétant un point qui, chez lui, ne bouge pas: le développeur humain reste responsable du résultat final, de la relecture du code et de sa compréhension technique.
Dans le logiciel libre, en revanche, le sujet continue de diviser.
Le noyau Linux a désormais une règle de transparence pour les contributions préparées avec une assistance automatisée, via un tag « Co-developed-by: ». En parallèle, des mainteneurs comme Greg Kroah-Hartman ont déjà alerté à plusieurs reprises sur la mauvaise qualité de patches générés automatiquement.
Certains projets serrent encore davantage la vis: l’environnement de bureau COSMIC de System76, par exemple, interdit ce type de contributions.
Pour l’instant, le point le plus intéressant est peut-être ailleurs.
Si ces correctifs sont retenus, Linux pourrait vraiment accélérer sur une faiblesse connue depuis longtemps. Mieux vaut rester prudent tant que la série n’a pas été intégrée, mais le gain potentiel, lui, n’a rien d’anecdotique.
Suivez-moi sur Twitter : @pierrevitre