Nouveau Trouve le job que tu mérites sur Les Joies du Code

Thème d'affichage

Linux 7.3 est sorti, et c'est la plus grosse version de l'histoire du noyau

Nicolas Lecointre ·
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.

Menu d'Indiana Jones and the Great Circle sous Linux, overlay à 50 FPS indiquant 1 Go de VRAM en surcharge sur 8 Go

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

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.

Voir sa page auteur

Offres d'emploi

Expert CERT - investigation et réponse H/F/NOVHcloud · Bordeaux / Nantes +5 · Hybride · CDICloud - SRE - Compute - Spécialisation Workload IACommissariat au Numérique de Défense - CND · Le Kremlin-Bicêtre · CDD (3 ans)API & Platform Product ManagerSkello · Paris · Hybride · CDI · 50-60k €STAGE Fullstack - Refonte d'un moteur de recherche à forte volumétrie (H/F)Winamax · Paris · Stage · 2500 € /mois
Voir toutes les offres

À lire également

Articles similaires