Друга версія патчів з реструктуризацією заголовних файлів ядра 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% порівняно з вихідним ядром).

Джерело: opennet.ru

Додати коментар або відгук