Une correction de dernière minute pour Linux 6.14 concerne un problème de régression vieux de deux ans, entraînant une baisse de performance de 30%.
Un correctif pour le noyau a été soumis avant la sortie stable de Linux 6.14, prévue dimanche. Ce correctif vise à annuler une modification apportée au noyau Linux il y a deux ans, qui avait fini par affecter certaines charges de travail avec une baisse de performance significative.
Il y a près de deux ans, this patch
avait été intégré au code de l’ordonnanceur central pour tenter de réduire le coût de la gestion de `sched_move_task` lors de l’utilisation de la configuration `CONFIG_SCHED_AUTOGROUP`. Avec une simple boucle d’un script bash lançant de nombreuses commandes « sleep » en tant que processus distincts, ce correctif avait permis de réduire le temps d’exécution d’environ 57%.
Il s’avère que la tentative d’optimisation d’il y a deux ans a nui à d’autres charges de travail Linux. Avec le patch to revert
d’aujourd’hui, il a été constaté que ce code vieux de deux ans entraînait une régression d’environ 30% du test de spawn d’UnixBench. Cette régression de performance a été signalée par un ingénieur d’Amazon lors de l’exécution de tests sur leur cloud AWS avec l’auto-groupement activé. D’autres charges de travail que UnixBench sont également affectées.
ingo Molnar a envoyé la *pull request* de l’ordonnanceur aujourd’hui avec cette seule annulation et a commenté :
« This is admittedly a bit late in the cycle, and the regression is old, but the performance impact is substantial for the affected workloads so I didn’t want to delay this fix. »
Ingo Molnar
Sauf réserves de Linus Torvalds, ce correctif/annulation de régression de performance devrait être fusionné dans Linux 6.14 Git plus tard dans la journée.
Linux 6.14 : Correction d’une régression vieille de deux ans,impactant les performances
FAQ : Tout savoir sur la correction de Linux 6.14
Q : Qu’est-ce qui a causé la baisse de performance dans Linux 6.14 ?
R : Une modification de l’ordonnanceur du noyau introduite il y a deux ans, qui a entraîné une régression de performance.
Q : Quelle était l’objectif initial de cette modification ?
R : Réduire le coût de la gestion de schedmovetask
avec CONFIGSCHEDAUTOGROUP
.
Q : Comment cette modification affecte-t-elle les performances aujourd’hui ?
R : Elle entraîne une baisse de performance d’environ 30% dans des tests comme UnixBench et affecte d’autres charges de travail.
Q : Qui a signalé ce problème ?
R : Un ingénieur d’Amazon, testant sur AWS avec l’auto-groupement activé.
Q : Qu’est-ce qui est fait pour corriger le problème ?
R : Un correctif annulant la modification problématique est en cours de fusion.
Q : Quand ce correctif sera-t-il intégré ?
R : Il était prévu d’être fusionné dans Linux 6.14 Git plus tard dans la journée.
Q : Qui est à l’origine du correctif ?
R : Ingo Molnar a soumis la pull request.
impact et Correction : Comparaison des performances
| Caractéristique | Description | Impact Initial (Il y a 2 ans) | Impact Actuel (Noyau 6.14) |
|—————–|——————————————————————————————————————————————–|——————————–|——————————|
| Modification | Optimisation de l’ordonnanceur pour schedmovetask
avec CONFIGSCHEDAUTOGROUP
| Réduction du temps d’exécution d’environ 57% (script bash) | Régression d’environ 30% (UnixBench) |
| Correctif | Annulation de la modification initiale | N/A | Correction de la régression |