De tweede versie van patches met herstructurering van Linux-kernelheaderbestanden

Ingo Molnar presenteerde de tweede versie van een reeks patches die de tijd voor het opnieuw opbouwen van de kernel aanzienlijk kunnen verkorten door de hiërarchie van headerbestanden te herstructureren en het aantal onderlinge afhankelijkheden te verminderen. De nieuwe versie verschilt van de eerste versie die een paar dagen geleden werd voorgesteld doordat deze is aangepast voor de 5.16-rc8-kernel, aanvullende optimalisaties heeft toegevoegd en ondersteuning heeft geïmplementeerd voor het bouwen met behulp van de Clang-compiler. Bij gebruik van Clang verminderde het toepassen van patches de bouwtijd met 88% of 77% in termen van CPU-bronnenverbruik. Bij het volledig opnieuw opbouwen van de kernel met het commando “make -j96 vmlinux” werd de bouwtijd teruggebracht van 337.788 naar 179.773 seconden.

De nieuwe versie lost ook het probleem met GCC-plug-ins op, corrigeert fouten die tijdens het eerste beoordelingsproces zijn geïdentificeerd en verenigt dubbele declaraties van de “task_struct_per_task”-structuur. Daarnaast werd de optimalisatie van het headerbestand linux/sched.h voortgezet en werd de optimalisatie van de headerbestanden van het RDMA-subsysteem (infiniband) geïmplementeerd, waardoor het mogelijk werd om de bouwtijd verder te verkorten met 9% vergeleken met de eerste versie van de pleisters. Het aantal kernel C-bestanden dat het headerbestand linux/sched.h bevat, is teruggebracht van 68% naar 36% vergeleken met de eerste versie van de patches (van 99% naar 36% vergeleken met de originele kernel).

Bron: opennet.ru

Voeg een reactie