SysadminNews

Linux 7.2 apporte l'ordonnancement conscient du cache

Sur cette page
  1. Le probleme qu'il resout
  2. Ce que fait l'ordonnancement conscient du cache
  3. Comment l'essayer
  4. Le reste du cycle
  5. Sources et pour aller plus loin

Linux 7.2 a atteint sa troisieme version candidate le dimanche 12 juillet 2026, et Linus Torvalds la decrit comme sans relief, ce qui a ce stade d'un cycle est le plus beau compliment disponible. La fonction a connaitre est arrivee plus tot, pendant la fenetre de fusion. L'ordonnancement conscient du cache, construit par des ingenieurs Intel pendant plus d'un an, cherche a garder sur le meme cache de dernier niveau les taches qui partagent des donnees, au lieu de les disperser dans la puce. Si vous faites tourner des charges sur des processeurs serveur modernes a nombreux coeurs, c'est la version a tester, car le noyau stable est attendu en aout.

The short answer

Linux 7.2 a atteint sa troisieme version candidate le 12 juillet 2026, Linus Torvalds notant que rien ne parait particulierement effrayant ni etrange et qu'environ la moitie des changements sont des pilotes. La fonction phare du cycle est l'ordonnancement conscient du cache, mene par des ingenieurs Intel pendant plus d'un an, qui regroupe sur le meme domaine de cache de dernier niveau les taches partageant des donnees afin d'ameliorer la localite. Il se compile avec CONFIG_SCHED_CACHE et se pilote a chaud via un bouton enabled dans le repertoire debugfs llc_balancing. La version stable est attendue en aout 2026.

rc3publiee le dimanche 12 juillet 2026
CONFIG_SCHED_CACHEl'option Kconfig pour l'activer
aoutsortie stable attendue pour 7.2
Carte reponse : Linux 7.2 ajoute l'ordonnancement conscient du cache, active par CONFIG_SCHED_CACHE et pilotable a chaud via le bouton llc_balancing dans debugfs.
Un changement d'ordonnanceur reecrit vos mesures sans prevenir. PNG

La plupart des versions du noyau meritent un survol du journal des changements, rien de plus. Celle-ci contient quelque chose qui peut modifier la forme de vos chiffres de performance sans que vous touchiez une ligne de code, et c'est une categorie de changement que nous suivons de plus pres. Linux 7.2 a atteint sa troisieme version candidate le dimanche 12 juillet 2026, et il transporte l'ordonnancement conscient du cache.

Le probleme qu'il resout

Commencons par le materiel, car la fonction n'a de sens que face a lui.

Un processeur serveur moderne n'a pas un seul grand cache partage par tous les coeurs. Il possede plusieurs domaines de cache de dernier niveau, chacun partage par un groupe de coeurs. Le groupe dans lequel vous atterrissez est un fait physique lie a l'endroit ou tourne votre tache. Deux coeurs du meme domaine partagent un cache de dernier niveau. Deux coeurs de domaines differents, non.

Placez maintenant deux taches qui travaillent sur les memes donnees sur deux coeurs de domaines differents. Chaque fois que l'une ecrit ce que l'autre lit, la donnee doit voyager entre domaines de cache. La ligne de cache rebondit d'un cote a l'autre, et chaque rebond coute bien plus cher qu'un succes dans le cache local. Aucune des deux taches ne fait quoi que ce soit de mal. Elles sont simplement au mauvais endroit l'une par rapport a l'autre, et l'ordonnanceur les y a mises sans savoir qu'elles etaient liees.

L'ordonnanceur a historiquement optimise le fait de garder les coeurs occupes et de repartir la charge uniformement, un objectif raisonnable qui se trouve etre indifferent a ce probleme. Equilibrer les taches sur toute la puce est exactement le comportement qui separe les taches partageant des donnees.

Ce que fait l'ordonnancement conscient du cache

L'ordonnancement conscient du cache apprend a l'ordonnanceur a tenir compte de cette relation. Il cherche a garantir que les taches partageant des donnees soient regroupees dans le meme domaine de cache de dernier niveau, ce qui ameliore la localite et reduit les defauts de cache et les rebonds de lignes qui viennent de leur separation.

Le travail est mene par des ingenieurs logiciels d'Intel depuis plus d'un an, Peter Zijlstra gerant la branche sched/cache, et il est entre dans la branche tip sched/core en mai 2026 avant d'etre fusionne pendant la fenetre de 7.2. Phoronix rapporte des benefices sur les processeurs Intel et AMD modernes, en particulier les pieces de classe serveur avec davantage de coeurs et de plus gros caches, en citant des gains sur les processeurs AMD EPYC et les systemes Intel Xeon 6.

Nous ne citons volontairement aucun pourcentage de gain ici. Plusieurs publications ont attache des chiffres de benchmark precis a cette fonction, et nous n'avons pas pu les confirmer aupres des sources noyau auxquelles nous nous fions, nous preferons donc les ecarter plutot que relayer des mesures que nous ne pouvons pas assumer. Le resume honnete est que la direction est bien etablie et que l'amplitude depend entierement de votre charge, ce qui est de toute facon la reponse que vous voudriez verifier vous-meme.

Carte reponse expliquant comment evaluer l'ordonnancement conscient du cache : compiler le noyau avec CONFIG_SCHED_CACHE, puis basculer le bouton enabled du repertoire debugfs llc_balancing pour mesurer la meme charge avec et sans la fonction.
On le compile une fois, puis on bascule a chaud et on mesure les deux cotes. PNG

Comment l'essayer

Deux boutons comptent.

La fonction se compile via l'option Kconfig CONFIG_SCHED_CACHE, elle doit donc etre presente dans la construction du noyau. Une fois la, un repertoire debugfs nomme llc_balancing contient un bouton appele enabled qui active et desactive le comportement a chaud, sans recompilation et sans redemarrage.

Ce bouton a chaud est ce qui rend la chose evaluable plutot que simplement interessante. Vous pouvez lancer votre vraie charge sur votre vraie machine, basculer le bouton, et relancer. Meme noyau, meme materiel, tout le reste identique. C'est une bien meilleure experience qu'une comparaison entre versions du noyau, ou une centaine d'autres changements sont en vol et ou n'importe lequel pourrait expliquer un ecart.

Il faut le dire clairement : un changement d'ordonnanceur est exactement le genre de chose qui aide la plupart des charges et en penalise quelques-unes. Si vos taches partagent reellement des donnees, les regrouper est un gain. Si votre charge consiste en de nombreuses taches independantes qui ne partagent rien et veulent surtout du debit parallele brut et de la bande passante memoire, les tasser dans moins de domaines de cache n'aide pas de facon evidente et pourrait creer de la contention sur le meme cache. C'est pour cela que le bouton existe, et pour cela que mesurer vaut mieux que supposer.

Le reste du cycle

Sur la version candidate elle-meme, Torvalds indique que rien ne parait particulierement effrayant ni etrange, avec environ la moitie des changements dans les pilotes et le reste reparti entre reseau, systemes de fichiers, documentation, coeur du noyau et corrections d'architecture. Parmi les elements precis de la rc3 figurent le support Ultra RISC-V ajoute a la configuration RISC-V par defaut, une meilleure detection d'affichage sur certains systemes multi GPU, et des corrections du pilote SEGA Dreamcast. La fenetre de fusion plus large de 7.2 a aussi apporte un premier support HDMI 2.1 FRL au pilote AMDGPU et la poursuite du travail sur le support Rust du noyau.

Le calendrier est la partie actionnable. Des versions candidates hebdomadaires jusqu'en juillet pointent vers un 7.2 stable autour d'aout 2026, et 7.2 devrait devenir le noyau par defaut d'Ubuntu 26.10 a l'automne. Cela vous laisse une fenetre, maintenant, sur du materiel que vous controlez, pour decouvrir ce que cela fait a votre charge avant que la chose n'arrive dans une distribution et ne se mette a expliquer une courbe que vous n'attendiez pas. Tester pendant la fenetre des versions candidates, c'est aussi le moment ou un rapport de regression atteint encore des gens capables d'agir.

Sources et pour aller plus loin

Questions fréquentes

Qu'est-ce que l'ordonnancement conscient du cache ?

C'est une evolution de l'ordonnanceur de taches de Linux qui cherche a placer les taches partageant des donnees sur le meme domaine de cache de dernier niveau. Sur un processeur dote de plusieurs caches de dernier niveau, deux taches travaillant sur les memes donnees peuvent se retrouver sur des coeurs qui ne partagent aucun cache, si bien que chaque acces aux donnees partagees doit traverser les domaines de cache. L'ordonnancement conscient du cache tente de garder ces taches ensemble, ce qui ameliore la localite et reduit les defauts de cache et les rebonds de lignes de cache.

Comment l'activer ?

La fonction se compile via l'option Kconfig CONFIG_SCHED_CACHE, votre noyau doit donc etre construit avec. A chaud, un repertoire debugfs nomme llc_balancing contient un bouton appele enabled, qui permet d'activer et de desactiver le comportement sans recompiler ni redemarrer. Ce bouton a chaud est la partie utile pour evaluer, car il permet de mesurer la meme charge avec la fonction active puis inactive sur la meme machine.

Quels processeurs en profitent ?

Le travail vise les processeurs Intel et AMD modernes qui exposent plusieurs domaines de cache de dernier niveau, et le benefice croit avec le nombre de coeurs et la taille des caches. Les pieces de classe serveur sont le cas evident, et Phoronix rapporte des gains sur les processeurs AMD EPYC et les systemes Intel Xeon 6. Si votre machine presente un cache de dernier niveau unique partage par tous les coeurs, la fonction n'a rien a reorganiser, n'attendez donc aucun changement.

Quand Linux 7.2 sortira-t-il en version stable ?

Linux 7.2 a atteint sa troisieme version candidate le 12 juillet 2026, et le cycle suit le rythme hebdomadaire habituel, ce qui pointe vers une version stable autour d'aout 2026. Linux 7.2 devrait devenir le noyau par defaut d'Ubuntu 26.10 a l'automne. Rien n'est garanti, puisque Linus rallonge un cycle d'une version candidate supplementaire quand la situation le justifie, mais au stade de la rc3 aucun signe n'annonce cela.

Qu'y a-t-il d'autre dans les versions candidates de 7.2 ?

Torvalds indique qu'environ la moitie des changements de la rc3 concernent des pilotes, le reste se repartissant entre reseau, systemes de fichiers, documentation, coeur du noyau et corrections d'architecture, et que rien ne parait particulierement effrayant ni etrange. Parmi les elements precis figurent le support Ultra RISC-V ajoute a la configuration par defaut du noyau RISC-V, une meilleure detection d'affichage sur certains systemes multi GPU, et des corrections du pilote SEGA Dreamcast. La fenetre de fusion de 7.2 a aussi apporte un premier support HDMI 2.1 FRL au pilote AMDGPU et la poursuite du travail sur le support Rust du noyau.

Faut-il tester la rc3 en production ?

Non. Les versions candidates se testent sur du materiel que vous pouvez vous permettre de casser, pas en production. La raison de s'y interesser maintenant est que l'ordonnancement conscient du cache touche l'ordonnanceur, et les changements d'ordonnanceur interagissent avec les charges reelles d'une facon que les tests synthetiques ne predisent pas toujours. Tester votre charge pendant la fenetre des versions candidates, c'est le decouvrir avant que le noyau stable n'atteigne votre distribution, et c'est aussi le moment ou un rapport de regression sert encore a ceux qui peuvent le corriger.