Вторая версия патчей c реструктуризацией заголовочных файлов ядра Linux

Инго Молнар (Ingo Molnar) представил вторую версию набора патчей, позволяющего значительно сократить время пересборки ядра за счёт реструктуризации иерахии заголовочных файлов и сокращения числа перекрёстных зависимостей. От предложенной несколько дней назад первой версии новый вариант отличается адаптацией для ядра 5.16-rc8, добавлением дополнительных оптимизаций и реализацией поддержки сборки с использованием компилятора Clang. При использовании Clang применение патчей позволило сократить время сборки на 88% или на 77% в показателях расходования ресурсов CPU. При полной пересборке ядра командой “make -j96 vmlinux время сборки сократилось с 337.788 до 179.773 секунд.

В новой версии также решена проблема с плагинами GCC, исправлены выявленные в процессе начального рецензирования ошибки и проведена унификация дубликатов объявления структуры “task_struct_per_task”. Кроме того, продолжена оптимизация заголовочного файла linux/sched.h и реализована оптимизация заголовочных файлов подсистемы RDMA (infiniband), которая позволила дополнительно сократить время сборка на 9% относительно первой версии патчей. Число Си-файлов ядра, подключающих заголовочный файл linux/sched.h, сокращено с 68% до 36% по сравнению с первой версией патчей (с 99% до 36% по сравнению с исходным ядром).

Release. Ссылка here.