Борьба за оптимизации в mainline
На конференции Linux Plumbers Conference (LPC) 2026 в Праге инженеры Google представили дорожную карту по интеграции передовых техник компиляции в основное дерево ядра Linux. Ключевая цель — внедрение Profile Guided Optimizations (PGO), AutoFDO и технологии Propeller. Эти инструменты позволяют компилятору GCC и Clang оптимизировать код на основе реальных данных о нагрузке, что ранее было ограничено out-of-tree патчами.
Ранее Линус Торвальдс категорически отвергал включение PGO в mainline, ссылаясь на сложность поддержки и воспроизводимость сборок. Однако Google настаивает на необходимости этих оптимизаций для серверной инфраструктуры и мобильных устройств Android.
Ключевые технические инициативы
Основная проблема, которую пытаются решить инженеры Google, — поддержка PGO не только для монолитного образа ядра, но и для модулей. В текущем виде сборка модулей с профилированием требует сложных обходных путей. Google предлагает унифицированный интерфейс Kbuild, который автоматизирует генерацию профильных данных.
| Технология | Описание | Цель внедрения |
|---|---|---|
| PGO (Profile Guided Optimizations) | Оптимизация кода на основе данных о реальном выполнении | Повышение производительности основного образа ядра |
| AutoFDO | Автоматизированный сбор профилей из perf-событий | Упрощение процесса оптимизации без ручного сбора данных |
| Propeller | Инструмент оптимизации, анализирующий вызовы функций | Оптимизация модулей ядра и устранение ограничений |
Значение для Android и серверов
Успешное внедрение этих патчей имеет двойное значение. Для серверной инфраструктуры Google это означает потенциальный прирост производительности за счет более эффективного использования CPU. Для экосистемы Android оптимизация модулей ядра может привести к улучшению энергоэффективности и отзывчивости мобильных устройств, так как многие драйверы и подсистемы работают именно в виде модулей.
Перспективы upstream
Несмотря на активную работу, вопрос о том, убедят ли инженеры Google Линуса Торвальдса, остается открытым. Представленные материалы доступны на сайте lpc.events. Сообщество ядра внимательно следит за тем, как будет развиваться диалог между необходимостью производительности и философией простоты поддержки mainline.
Источник: Phoronix ↗
