Итоги самого бурного года в истории ядра

Уходящий год выдался насыщенным для разработчиков ядра Linux. Rust окончательно закрепился в ядре, файловая система Bcachefs была исключена из основной ветки, а Линус Торвальдс, как всегда, не стеснялся в выражениях.
Одной из самых неожиданных новостей года стало то, что Meta* использует на своих серверах планировщик задач, изначально разработанный для портативной игровой консоли Steam Deck от Valve. Казалось бы, что общего между карманным игровым устройством и гигантскими серверами? Оказалось, что планировщик отлично адаптируется и прекрасно работает в условиях гиперскейлера.
Главной темой года, безусловно, стал язык программирования Rust. Эксперимент по внедрению Rust в ядро официально завершён — теперь это полноценная часть Linux. Ведущий разработчик проекта Rust for Linux Мигель Охеда опубликовал патч, подводящий черту под экспериментальным периодом. Грег Кроа-Хартман, второй человек в иерархии разработки ядра после Торвальдса, активно продвигает написание новых драйверов именно на Rust. При этом Торвальдс дал понять, что готов принимать Rust-код даже вопреки возражениям отдельных мейнтейнеров. Впрочем, не обошлось без драмы: мейнтейнер ядра Кристоф Хеллвиг назвал многоязычность «раком» для системы, а затем покинул пост мейнтейнера DMA-хелперов после конфликта вокруг Rust-биндингов. Кроме того, код на Rust в ядре получил свою первую CVE-уязвимость — своеобразная веха зрелости. На фоне этих конфликтов сообщество заговорило о возможных форках и альтернативных операционных системах, написанных с нуля на Rust. А ведущий разработчик Asahi Linux Гектор Мартин объявил об уходе из проекта, сославшись на выгорание и давление со стороны Торвальдса.
Инженеры Red Hat представили новый драйвер NOVA для видеокарт NVIDIA, написанный на Rust. Он призван стать преемником Nouveau и поддерживает карты начиная с серии RTX 20 (Turing), где есть GPU System Processor с необходимой прошивкой. Работа над NOVA продолжается в ядре 6.17 наряду с другими Rust-нововведениями.
Файловая система Bcachefs пережила непростой год. Сначала Торвальдс принял изменения в версию 6.16, но предупредил, что в будущем пути разойдутся. В версии 6.17 Bcachefs была помечена как «поддерживаемая внешне», а в 6.18 код полностью удалили из основной ветки. Разработчик Bcachefs Кент Оверстрит выпустил DKMS-модуль, который, по результатам тестов, работает вдвое быстрее официальной версии, исключённой Торвальдсом. Тем временем стало известно, что Btrfs сэкономила Meta* миллиарды долларов на инфраструктуре.
Среди технических новинок года — предложение мультиядерной архитектуры, позволяющей запускать несколько независимых экземпляров ядра на одной машине. Это открывает интересные возможности, например, запуск ядра реального времени на отдельных процессорных ядрах. Инженеры Google вернулись к работе над Address Space Isolation для защиты от атак на спекулятивное выполнение, снизив падение производительности с 70 до 13 %. Драйвер NTSYNC улучшил производительность Windows-игр через Wine и Proton. А разработчик Джоэл Северин и вовсе портировал ядро Linux на WebAssembly — теперь его можно запустить прямо в браузере, хотя стабильность пока оставляет желать лучшего.
Крупная алгоритмическая торговая фирма XTX Markets, ежедневно обрабатывающая сделки на 250 миллиардов долларов, открыла исходный код своей файловой системы TernFS, созданной для распределённого хранения данных. Компания Bytedance предложила новый подход к межпроцессному взаимодействию под названием Run Process As Library, показывающий впечатляющие результаты в тестах.
Не обошлось и без кадровых потерь. Единственный мейнтейнер драйверов Wi-Fi объявил об уходе без явного преемника. Йозеф Бачик, многолетний разработчик Btrfs, покинул Meta и отошёл от активной работы над ядром.
Линус Торвальдс в течение года был в своём репертуаре. Он отклонил изменения для архитектуры RISC-V в версии 6.17, назвав часть кода мусором. Раскритиковал тестовый код в графических драйверах, который оставляет после себя ненужные файлы. Высказался о нерегистрозависимых файловых системах и бесполезных тегах Link в коммитах. А безумное форматирование Rust-кода привело к тому, что в версию 6.18 внесли исправления специально по замечаниям Торвальдса.
Интригу добавило сообщение о некой корпорации, использующей x86-опкоды, которые не применяются ни в процессорах Intel, ни в AMD. Кто это — пока остаётся загадкой.
* Компания Meta и её продукты признаны экстремистскими, их деятельность запрещена на территории РФ.