Linux 7.3 est sorti, et c'est la plus grosse version de l'histoire du noyau
Linus Torvalds a publié Linux 7.3 dimanche dernier, pile à l'heure.
Dans son message d'annonce, il s'en étonne lui-même : pour une fois, il savait quel jour on était, si bien qu'aucun oubli n'est venu retarder la sortie.
Le développement de Linux 7.4 démarre dans la foulée, avec la fenêtre de fusion habituelle : deux semaines pendant lesquelles Torvalds intègre toutes les nouveautés de la prochaine version, avant plusieurs semaines consacrées aux corrections.
Sauf que cette fois, il la gère depuis ses vacances, entre deux plongées, sa grande passion (à tel point qu'il a créé Subsurface, un logiciel open source de carnet de plongée).
Une semaine de fusions en rab n'est pas exclue, mais celui qui reprochait déjà aux devs de livrer au dernier moment prévient : elle ne servira pas à accepter des pull requests en retard, alors pas d'entourloupe. 👀
Plus on est de fous, plus on commite
D'après le décompte de LWN.net, le site de référence sur le développement du noyau, Linux 7.3 bat tous les records : 18 765 commits, signés par 3 021 développeurs, dont 807 qui contribuaient au noyau pour la première fois.
Le précédent record appartenait à Linux 6.7 et à ses 17 284 commits, un total un peu dopé. Cette version accueillait bcachefs, un système de fichiers développé pendant des années hors du noyau et arrivé avec tout son historique : près de 3 000 commits d'un coup (il a d'ailleurs quitté le noyau depuis).
Évidemment, l'intelligence artificielle a apporté sa pierre à l'édifice : six mois après Linux 7.0, où elle s'invitait déjà dans la chasse aux bugs, plus de 8 % des commits de sa fenêtre de fusion portaient la mention "Assisted-by", qui signale le coup de main d'un assistant IA.
Les irréductibles des 8 Go de VRAM
Bonne nouvelle pour les joueurs : un jeu peut désormais garder sa place dans la mémoire de la carte graphique, au lieu de se la faire prendre par les applis restées ouvertes en arrière-plan.
Sur un bureau Linux, un jeu partage cette mémoire (la VRAM) avec tout le reste, y compris le navigateur, qui ne se contente pas de dévorer la RAM et pioche aussi dans la VRAM.
Quand elle déborde, le noyau ne fait pas le tri : les nouvelles allocations du jeu partent en RAM, que le GPU lit à travers le bus PCIe, bien plus lentement.
Natalie Vock, qui travaille pour Valve, a trouvé la parade dans les cgroups, ces groupes de processus entre lesquels le noyau répartit les ressources (systemd en crée un pour chaque application de votre bureau).
Grâce à ses patchs, testés sur des cartes AMD, Linux 7.3 sait enfin protéger efficacement la mémoire graphique d'un groupe, celui du jeu par exemple : faute de place, le noyau évince d'abord la mémoire non protégée des autres groupes.
Pour en profiter, il faut passer par quelques utilitaires, comme dmemcg-booster et gamescope (le compositeur de Valve), qui activent cette protection et l'accordent au jeu.
Dans le test de Natalie Vock, Cyberpunk 2077, lancé alors que plusieurs applis occupent déjà la VRAM, ne déborde plus du tout en RAM.
Cette protection a toutefois une limite : elle ne suffit plus quand le jeu réclame à lui seul plus de VRAM que la carte n'en possède. C'est justement le cas que traite la suite de ses travaux, déjà livrée dans SteamOS mais pas encore dans le noyau officiel.
Avec ces correctifs, Indiana Jones and the Great Circle, réglé pour réclamer 9 Go sur une carte de 8, tourne encore à une cinquantaine d'images par seconde en moyenne.

Un ordonnanceur plus équitable
Les cgroups sont aussi au centre d'un autre gros chantier, celui de l'ordonnanceur (qui décide quel processus tourne sur quel cœur), remanié pour mieux répartir le processeur entre les groupes.
Jusqu'ici, il découpait la part de chaque groupe entre les cœurs où tournaient ses tâches. Sur une machine dotée de nombreux cœurs, chaque morceau devenait minuscule, au point de fausser le partage entre les groupes.
Par défaut, Linux 7.3 calcule désormais ce partage d'après le nombre de tâches du groupe prêtes à s'exécuter, dans la limite du nombre de cœurs. L'ancien calcul reste disponible par un simple réglage.
L'auteur du changement ne prétend pas faire l'unanimité : il espère seulement que ça arrangera plus de monde que ça n'en pénalisera (au moins, c'est franc).
ext4 : sans passer par la case cache
ext4, le système de fichiers par défaut d'Ubuntu et de Debian, accélère les accès directs, qui contournent le cache du noyau et sont très prisés des bases de données.
Moins frileux qu'avant sur le verrouillage des fichiers, il laisse davantage d'écritures directes s'exécuter en parallèle.
Les petites lectures directes, elles, profitent d'un raccourci signé par un ingénieur de ByteDance (la maison mère de TikTok), et XFS en bénéficie aussi.
Sur un SSD NVMe PCIe 5.0, ses mesures montrent un bond de 1,92 à 2,19 millions de lectures aléatoires par seconde sur un seul cœur.
Ubuntu 26.10, sorti jeudi dernier, tourne déjà sur une préversion de Linux 7.3 et recevra la version finale d'ici une à deux semaines.
À propos de l'auteur
Nicolas Lecointre
Fondateur des Joies du Code, je suis l'actualité et la culture des développeurs depuis 2012. Ancien développeur, je me consacre aujourd'hui entièrement au média.
Offres d'emploi
À lire également
Offres d'emploi développeur : trouvez votre prochain job sur Les Joies du Code
Voilà plus d'un an que je travaille sur ce projet, et il est enfin en ligne : dès maintenant, vous pouvez trouver votre prochain job sur Les Joies du Code...
Articles similaires
Ubuntu 26.10 est sorti, et ses coreutils passent à 100 % en Rust
Mold, le linker ultra-rapide pour Linux, a été réécrit en Rust
Ubuntu 26.04 LTS est sorti, et il tourne sur Linux 7.0
Linux 7.0 est sorti, et l'IA s'invite dans la chasse aux bugs du kernel
Plus de contenu
Quand la démo ne se passe pas comme prévu
Quand le commercial m'annonce que le projet pour lequel il a pas chiffré les tests est plein de bugs
Quand je vois que je peux caler un if ternaire dans mon code
Quand on me demande de me charger du design de l'appli
Quand je teste une nouvelle fois mon code et que le bug est toujours présent
Quand je suis en télétravail et que la réunion visio du matin vient de se terminer
Quand j'étais fier de présenter mon dernier dev mais que ma démo plante lamentablement
Quand on me glisse à l'oreille le TJM éclaté du freelance qui en touche pas une
Quand la démo ne se passe pas comme prévu
Quand le commercial m'annonce que le projet pour lequel il a pas chiffré les tests est plein de bugs
Quand je vois que je peux caler un if ternaire dans mon code
Quand on me demande de me charger du design de l'appli
Quand je teste une nouvelle fois mon code et que le bug est toujours présent

