Le traitement de l’objet vmlinux.o avec objtool a été l’étape la plus gourmande en mémoire du processus de construction du noyau Linux. Les correctifs précédents ont déjà travaillé pour réduire cette utilisation de la mémoire objtool lors de la compilation du noyau Linux et une grande série de correctifs désormais définie pour Linux 6.5 est configurée pour réduire fortement l’utilisation maximale du tas.

Lors de la création d’une version complète du noyau Linux de débogage (allyesconfig) avec CONFIG_DEBUG_INFO activé, DWARF crée près de 200 millions de relocalisations. Actuellement, cette grande version de débogage du noyau Linux peut conduire à une utilisation maximale du tas objtool atteignant 53 Go. Mais grâce à ces optimisations fournies avec Linux 6.5, l’utilisation maximale du tas tombera à environ 25 Go.

Pour les scénarios moins intenses, ces optimisations d’objtool présentent également des avantages. Une version de noyau de type distribution avec le suivi de branche indirect (IBT) activé verra l’utilisation maximale du tas d’objtool passer de 4,2 Go à environ 2,8 Go.


En plus de réduire fortement le pic de tas utiliser, ces optimisations objtool conduisent également à des temps d’exécution plus rapides et à leur tour des temps de construction du noyau plus courts.

C’est un bel ensemble d’améliorations d’objtool par Josh Poimboeuf. Ces modifications, ainsi que certaines améliorations de débogage et de déroulement ont été envoyées ce matin dans le cadre des modifications d’objtool pour le noyau Linux 6.5.

Categories: IT Info