L'IA a corrigé un bug du noyau Linux. Une seule ligne de code a tout changé.
 Par Nic007
LinuxLes assistants de programmation basés sur l'IA s'intègrent de plus en plus au travail quotidien des développeurs, mais leur impact se limite rarement au cœur des systèmes d'exploitation. Cette fois-ci, un outil d'IA a permis de résoudre un problème concret du noyau Linux et a conduit à la création d'un correctif qui pourrait bientôt être intégré à la version stable du système. Ce cas concerne des travaux sur l'interface io_uring et un bogue provoquant des plantages de machines virtuelles. Un développeur important de la communauté open source a participé au processus. Comme l'explique Phoronix , Jens Axboe, développeur principal du projet io_uring, a utilisé un assistant d'IA pour analyser un bug difficile à détecter. io_uring est un mécanisme de gestion asynchrone des entrées/sorties du noyau Linux, introduit dans la version 5.1 en 2019. Il permet un traitement efficace des opérations sur disque et réseau.Axboe a constaté que lors de l'exécution d'io_uring dans un environnement virtuel, des blocages intermittents survenaient lors de l'utilisation de périphériques AHCI et SCSI. Ce problème ne se manifestait pas avec les disques NVMe modernes, ce qui rendait le diagnostic précis difficile. L'analyse a révélé un comportement inattendu dans l'une des boucles de traitement d'événements de QEMU . Un appel à la fonction ppoll() pouvait bloquer l'exécution pendant 500 millisecondes. Dans le contexte des opérations d'entrée/sortie, ce délai est considérable.

Axboe a opté pour le modèle Claude, développé par Anthropic . Ce modèle tire son nom de Claude Shannon , fondateur de la théorie de l'information. Claude appartient à la famille des grands modèles de langage et est conçu comme un outil d'aide à l'analyse du code et de la documentation. D'après le développeur, l'IA l'a aidé à identifier les dépendances du code et à comprendre le mécanisme à l'origine des blocages des machines virtuelles. Lors des tests, l'environnement a planté, mais le système a finalement été stabilisé et une solution a été trouvée. Cette collaboration a permis de corriger deux problèmes. La première s'attaquait à la cause profonde du problème, la seconde apportait une amélioration mineure. Le plus surprenant était que le changement clé tenait sur une seule ligne de code. Axboe estimait que, dans certains cas, cette correction pouvait améliorer les performances d'E/S de 50 à 80 fois. Au sein de la communauté open source, les attitudes envers les outils d'IA sont parfois ambivalentes. Certains projets en restreignent l'utilisation, invoquant des problèmes de licence et la qualité du code généré. À titre d'exemple, citons la décision des développeurs de la distribution Gentoo de se détourner de GitHub et de renoncer aux outils d'IA dans leur processus de développement. De même, le projet GNOME a officiellement durci ses règles concernant les extensions du shell, interdisant la publication de code généré par IA dans la bibliothèque d'extensions GNOME. Parallèlement, un nombre croissant de développeurs considèrent les modèles de langage comme un outil d'analyse plutôt que comme un générateur de fragments de code prédéfinis. Dans ce contexte, le cas d'Axboe est unique, car il concerne le cœur d'un système d'exploitation utilisé sur des millions de serveurs et d'appareils.

Un élément intéressant à prendre en compte dans cette histoire est la position du créateur de Linux lui-même. Linus Torvalds a récemment admis utiliser des modèles de langage lorsqu'il travaille avec Python. Il n'a pas caché sa satisfaction quant aux résultats, tout en soulignant qu'il considère l'IA comme un outil d'aide à la décision. Si les correctifs d'Axboe passent par l'ensemble du processus d'approbation et sont intégrés à la branche stable du noyau, ce sera l'une des premières fois qu'un réseau neuronal aura réellement contribué à l'optimisation d'un composant Linux critique.
 Lire la suite
 Dernières actualités
 Archives
Informaticien.be - © 2002-2026 Akretio SRL  - Generated via Kelare Haut de page