Вышел набор патчей, ускоряющих сборку ядра Linux на 50-80%
Инго Молнар (Ingo Molnar), известный разработчик ядра Linux и автор планировщика задач CFS (Completely Fair Scheduler), предложил для обсуждения в списке рассылки разработчиков ядра Linux серию патчей, затрагивающих более половины всех файлов в исходных текстах ядра и обеспечивающих увеличение скорости полной пересборки ядра на 50-80% в зависимости от настроек. Реализованная оптимизация примечательна тем, что она сопряжена с добавлением самого крупного в истории разработки ядра набора изменений — для включения разом предложено 2297 патчей, меняющих более 25 тысяч файлов (10 тысяч заголовочных файлов в каталогах include/ и arch/*/include/ и 15 тысяч файлов с исходными текстами).
Показать
Прирост производительности достигается за счёт изменения метода обработки заголовочных файлов. Отмечается, что за тридцать лет разработки ядра состояние заголовочных файлов приняло удручающий вид из-за наличия большого числа перекрёстных зависимостей между файлами. Работа над реструктуризацией заголовочных файлов заняла более года и потребовала проведения значительной переработки иерархии и зависимостей. В ходе реструктуризации была выполнена работа по разделению определений типов и API для разных подсистем ядра.
Среди внесённых изменений: отделение высокоуровнневых заголовочных файлов друг от друга, исключение связывающих заголовочные файлы inline-функций, выделение заголовочных файлов для типов и API, обеспечение обособленной сборки заголовочных файлов (около 80 файлов имели мешающие сборке непрямые зависимости, выставляемые через другие заголовочные файлы), автоматическое добавление зависимостей к файлам .h и .c, пошаговая оптимизация заголовочных файлов, использование режима CONFIG_KALLSYMS_FAST=y, выборочная консолидация Си-файлов в сборочные блоки для снижения числа объектных файлов.
В итоге, проделанная работа позволила на 1-2 порядка сократить размер заголовочных файлов, обрабатываемых на стадии постпроцессинга. Например, до оптимизации использование заголовочного файла linux/gfp.h приводило к добавлению 13543 строк кода и подключения 303 зависимых заголовочных файлов, а после оптимизации размер сократился до 181 строк и 26 зависимых файлов. Или другой пример: при препроцессинге файла kernel/pid.c без патча подключается 94 тысяч строк кода, большая часть которого не используется в pid.c. Разделение заголовочных файлов позволило снизить объем обрабатываемого кода в три раза, сократив число обрабатываемых строк до 36 тысяч.
При полной пересборке ядра командой make -j96 vmlinux на тестовой системе применение патчей показало сокращение времени сборки ветки v5.16-rc7 с 231.34 до 129.97 секунд, а также повысило эффективность использования ядер CPU во время сборки. При инкрементальной сборке эффект от оптимизации ещё более заметен — время повторной пересборки ядра после внесения изменений в заголовочные файлы сократилось в разы (от 112% до 173% в зависимости от изменяемого заголовочного файла). Оптимизации пока доступны только для архитектур ARM64, MIPS, Sparc и x86 (32- и 64-бит).
Источники:
https://www.opennet.ru/opennews/art.shtml?num=56449
https://lwn.net/Articles/880175/rss

Хаки и трюки
Виртуалки
Сисьадминство
BASH-скрипты
Парусные суда
Праздники
Моё чтиво
Игра KSP
Kona Linux 6.0
Японии 32- и 64-битный Linux-дистрибутив c предустановленными приложениями. Разработка проекта началась в мае 2012 года как форк от мини-дистрибутива с названием
WindOS (на основе
Дебиана), который можно носить с собой на CD- или USB-диске. В июне 2015 года кодовая база была изменена на
бубунту (Kona Linux Ubuntu Edition, KLUE). В январе 2020 года появился Kona Linux Pi для одноплатных компьютеров Raspberry Pi, созданный на основе
Расбиана. Релиз первой версии (1.0) был 24 мая 2012 года. Последняя на сегодня версия (эта) выпущена 31 октября 2021 года. Название происходит от имени сорта кофе с острова Кона на Гавайях (автор дистра — большой любитель кофе). Существует несколько версий дистра: стандартная (известна как MUJI, 無印), облегчённые (light и black), облегчённая звуковая (blackjack), с качественным звуком (jack), Pro, Studio. Графические среды рабочего стола пользователя —
LXDE,
MATE,
Xfce,
Cinnamon,
GNOME,
KDE,
E17,
Budgie,
Pantheon. После установки размер файла образа винта — 8,3 гига.
KonaLinux
Fedora MATE 35-1.2
Федоры с полнофункциональной рабочей средой, разработанная с целью достижения производительности и эффективности. Разработана
Compiz Fusion. Диспетчер окон по умолчанию —
Marco (форк от стандартного оконного менеджера среды GNOME
Metacity). Файл образа накопителя после установки стал размером 3,8 Гб.
IGOS Nusantara 12.12
IGOS

Метод заключается в редактировании опций загрузчика GRUB, чтобы установить пароль на их изменение при загрузке системы. Настройка делается в текстовых конфигурационных файлах GRUB, и при физическом доступе к компьютеру с возможностью загрузки с LIVE-дистрибутива можно обойти и эту защиту. При физическом доступе всегда остаётся вариант вынуть жёсткий диск и просмотреть его содержимое в другой ОСи. То есть настоящую защиту данных обеспечивает только их шифрование или шифрование всего диска, защита в виде пароля на загрузку не является надёжной!


Lirix 2021.11.16 (Mellifera)
Арча. Создатель — какой-то линуксоид с ником
MaXX Interactive Desktop. Файл образа винта после установки стал размером 7,7 гига.
Lirix
Fresh OS 201011 Traditional
Linux Mint, основанная на репозитории
FreshOS
SereneLinux Beta 9.1F
Basix, использующий кодовую базу
SereneLinux

XeroLinux Main
KDE Plasma,
XeroLinux