Инструмент DAMON ворвался в ядро без предупреждения — и вылетел после одного взгляда Линуса

Amazon хотел «по умолчанию», Linux ответил «у нас так не работает».


ych88mj9y2r0l5zt2icbty1ltktc9hdg.jpg


Linux ядро не склонно к спонтанным экспериментам — особенно, если речь идёт о включении малознакомых функций по умолчанию. Это вновь подтвердилось накануне, когда Линус Торвальдс отклонил предложенное изменение, делающее систему мониторинга DAMON активной во всех новых сборках.

DAMON (Data Access MONitor) — это средство для отслеживания работы с памятью, созданное Amazon в партнёрстве с другими разработчиками. Оно предназначено для анализа поведения приложений, улучшения производительности и выявления неэффективных паттернов доступа к данным. Инструмент давно присутствует в ядре и активно используется в ряде дистрибутивов. Однако ключевой вопрос состоял не в наличии функциональности, а в том, должна ли она быть предустановлена и включена автоматически.

Во время окна слияния для версии 6.16, в репозиторий попал патч, активирующий DAMON на уровне конфигурации по умолчанию. В аргументации говорилось, что это решение уже принято в нескольких крупных системах — таких как Alma, Amazon Linux, Android, CentOS, Debian, Fedora и Oracle. Учитывая популярность модуля, автор патча предложил сделать его активным из коробки во всех новых сборках ядра, чтобы облегчить работу администраторам и разработчикам, уже полагающимся на этот инструмент.

Сторонники нововведения утверждали, что включение DAMON не несёт реальных рисков: модуль остаётся пассивным, пока пользователь явно не инициирует его работу. То есть, даже в активированном состоянии, он не вмешивается в поведение системы и не производит никаких операций до тех пор, пока не получит команду. Единственное упомянутое последствие — незначительное увеличение итогового размера бинарника: около 0,1 % от размера ядра в продакшн-сборке.

Исходя из этого, инициаторы изменения посчитали, что выгода от предустановки перевешивает мизерный прирост веса пакета. По их мнению, подобное решение упростило бы жизнь текущим и будущим пользователям DAMON, избавив их от необходимости вручную править конфигурацию.

Однако сам Торвальдс, как выяснилось, изначально не обратил внимания на этот коммит — тот прошёл мимо его радаров. Когда ситуация дошла до него, он отреагировал быстро и однозначно: изменение было немедленно откатано. В журнале изменений ядра появилась запись о том, что коммит с номером `28615e6eed152f2fda5486680090b74aeed7b554` удаляется, поскольку активировать произвольные функции без весомых причин — это не практика проекта.

Такое решение полностью соответствует прежнему подходу, которого придерживается лидер Linux-сообщества. В ядре никогда не включают экспериментальные драйверы или модули без убедительного обоснования. Особенно это касается нестандартных компонентов, которые мало кто знает и использует в массовом порядке.

Торвальдс уже не раз подчёркивал, что приоритет — стабильность, а не удобство для ограниченного числа энтузиастов. Автоматическое включение редкоиспользуемых опций может повлечь непредсказуемые последствия, особенно при масштабной сборке ядра для универсального применения.

Теперь DAMON снова отключён по умолчанию в актуальной версии исходников. Это изменение будет отражено уже в релиз-кандидате Linux 6.16-rc2, который ожидается в ближайшие выходные. Пользователям, которым нужна эта система мониторинга , по-прежнему придётся вручную активировать соответствующий параметр при сборке — как это делалось до сих пор.

Сама по себе DAMON остаётся полезным инструментом, и её отказ от автоматической активации не означает отклонения технологии как таковой. Речь идёт лишь о соблюдении строгих принципов минимального вмешательства и предсказуемости поведения ядра — тех ценностей, которые обеспечивают устойчивость Linux в самых разнообразных сценариях.