Résumé :
La version de développement Linux 7.4 a incorporé un lot de modifications d'optimisation de Kbuild pour accélérer les goulots d'étranglement monothread et le travail répétitif dans le processus de compilation du noyau. Kbuild est le système de construction du noyau Linux, responsable de l'organisation des étapes de configuration, de compilation et de liaison ; les modifications pertinentes ont été proposées par Lorenzo Stoakes, ingénieur Arm et développeur de longue date du noyau.

Les optimisations qui ont été incorporées dans ce cycle incluent la réduction de la surcharge d'allocation de la section .modinfo dans l'image du noyau, l'accélération de la génération de la table de symboles kallsyms, l'omission du tri de sortie nm lorsque l'ordre n'est pas pertinent, la génération uniquement des informations de relocalisation requises lors de l'étape de liaison finale, la réécriture de mksysmap en langage C et le déplacement de certains tests de capacité du compilateur et de l'éditeur de liens dans l'étape Kconfig pour mettre en cache les résultats. De plus, si pigz est installé sur le système, il sera utilisé en premier pour accélérer la compression gzip. Les ajustements ci-dessus réduisent respectivement le traitement des données intermédiaires, les étapes répétées de sondage et de sérialisation.
Les premiers tests de l'ensemble de la série de correctifs montrent que les builds avec tous les modules activés sont environ 36 % plus rapides, les compilations incrémentielles sont environ 70 % plus rapides et les builds sans opération sans reconstruction réelle sont jusqu'à environ 90 % plus rapides. Phoronix a ensuite testé l'ensemble des correctifs v4 sur un serveur AMD EPYC 9575F double socket et Ubuntu 26.04 LTS. La construction propre du noyau x86_64 defconfig a été raccourcie d'environ 22 secondes à 15 à 17 secondes, et la construction allmodconfig a été réduite de plus de 30 secondes. Cependant, ces chiffres testent l’ensemble des correctifs. Linux 7.4 n'intègre actuellement qu'un lot de modifications. Les avantages réels doivent attendre que davantage de correctifs soient incorporés avant d’être évalués.
Ce travail d'optimisation s'appuie également sur des outils d'IA. Stoakes a déclaré qu'il avait utilisé un grand modèle de langage pour aider à localiser les goulots d'étranglement dans la construction et explorer des solutions d'amélioration, mais qu'une partie du code généré par le modèle était de mauvaise qualité ; il a personnellement examiné et réécrit une grande quantité de code et vérifié manuellement les résultats de la construction, l'exécution des noyaux et les changements de performances.
Commentaires