
Разработка ядра Linux идет своим чередом. Каждые пару месяцев (иногда ждать приходится дольше) появляется свежая версия с исправлениями и новыми возможностями. На этот раз Линус Торвальдс представил релиз 7.0, который вобрал тысячи правок от сообщества. Изменения затронули самые разные части системы: от обработки ошибок в файловых системах до правил использования AI-ассистентов при подготовке патчей. Давайте разбираться.
Сначала — о привычных подробностях релиза. Линус Торвальдс объявил о выходе новой версии после стандартного двухмесячного цикла. В релиз вошло 15 624 исправления, подготовленных 2 477 разработчиками. Объем патча — 56 МБ, изменения коснулись 18 053 файлов. Для сравнения: в предыдущем выпуске патчей было чуть больше, но размер меньше.
Статистика по распределению правок выглядит привычно. Около половины всех модификаций приходится на драйверы устройств, ещё 14% связано с сетевым стеком. Архитектурно-зависимый код занял 11%, файловые системы — примерно 5%, а внутренние подсистемы ядра — около 3%. Эти цифры показывают, что работа шла равномерно по всем направлениям.
Файловые системы и подсистема ввода-вывода
Среди заметных нововведений в работе с данными — инфраструктура fserror. Теперь сообщения об ошибках в разных файловых системах перестают выглядеть как набор разрозненных сигналов. Ядро сводит их к единому формату и передает в пользовательское пространство через fsnotify, что упрощает обработку и диагностику сбоев. Раньше каждая система хранения данных вела себя по‑своему, а новая инфраструктура сводит все к общему знаменателю.
В XFS сделали упор на наблюдаемость: теперь события, связанные с состоянием файловой системы, можно отслеживать напрямую из пользовательского пространства. Ядро отдает дескриптор для подписки на ошибки и сбои, а поверх этого предлагается отдельный сервис, который может автоматически реагировать на такие события и запускать восстановление.
В Btrfs появился новый подход к обработке перемещенных данных. Вместо немедленного обновления всех структур ядро временно хранит соответствие между старыми и новыми адресами и разрешает его при обращении. Такой механизм снижает риск несогласованности и создает основу для более гибкой работы с данными в будущем.
Еще в Btrfs реализовали поддержку прямого ввода-вывода в случаях, когда размер блока превышает размер страницы памяти. Это позволяет обойти некоторые ограничения и повысить эффективность на современных системах. Одновременно появилась совершенно новая файловая система nullfs. Она всегда пустая, не хранит никаких данных и не допускает изменений. Ее роль — служить заглушкой для корневой файловой системы на этапе загрузки. Поверх nullfs монтируются настоящие разделы, а потом вызывается pivot_root, что упрощает процесс инициализации системы и избавляет от необходимости очищать initramfs вручную.
В файловых системах также перевели поддержку уведомительных блокировок lease в разряд отдельно включаемых опций. По умолчанию этот механизм теперь выключен, потому что некоторые файловые системы, например 9p и cephfs, изначально не были к нему готовы. В Ext4 улучшили кэширование экстентов и отложенное выделение блоков, добавили параметр в sysfs для контроля задержки записи повторяющихся предупреждений об ошибках. Производительность одновременной прямой записи в несколько файлов тоже выросла. В EROFS по умолчанию задействовали алгоритм LZMA для сжатия, а DEFLATE и Zstandard перестали считаться экспериментальными. Плюс реализовали совместное использование записей страничного кэша для одинаковых файлов в разных экземплярах этой системы.

Бесплатный курс «Системный администратор Linux с нуля»
Освойте администрирование Linux на SelectOS и станьте востребованным специалистом.
Память, планировщик и системные сервисы
В подсистеме памяти завершили интеграцию механизма swap table. Он заметно ускоряет подкачку за счет снижения конкуренции за кэш, более эффективного поиска и уменьшения фрагментации. В тесте с redis-benchmark и BGSAVE количество обрабатываемых запросов выросло на 22%. Теперь этот бэкенд используется вместо старого XArray для кэширования подкачки.
Режим вытеснения задач PREEMPT_LAZY сделали используемым по умолчанию для архитектур arm64, loongarch, powerpc, riscv, s390 и x86. Он сохраняет полное вытеснение для задач реального времени, но задерживает вытеснение обычных процессов до границы тика. Благодаря этому удается приблизить производительность к конфигурациям с добровольным вытеснением, минимизируя проседания для повседневных нагрузок. Количество режимов сократили до двух — PREEMPT_FULL и PREEMPT_LAZY.

Поддержку Rust перевели из экспериментального статуса в основные возможности ядра. При этом она остается выключенной по умолчанию и не добавляет Rust в обязательные зависимости для сборки. Это важный шаг, который открывает дорогу для постепенного использования языка в драйверах и других компонентах без резких изменений в процессе сборки.
Официально утвердили правила применения AI-ассистентов при разработке. Ответственность за такие изменения полностью остается на разработчике, поэтому подпись Signed-off-by может ставить только человек. При этом сам факт использования ассистента нужно явно указывать в метаданных патча.
Сетевой стек, безопасность и виртуализация
В сетевой подсистеме сделали акцент на более точном управлении трафиком и вводом-выводом: улучшена работа с сигналами перегрузки, а для io_uring добавлены механизмы фильтрации, которые позволяют тоньше контролировать операции в нагруженных сценариях.
Для шифрования модулей ядра добавили интеграцию пост-квантового алгоритма ML-DSA. Он приходит на смену устаревающим подходам и обеспечивает защиту даже от будущих угроз квантовых компьютеров. Одновременно появилась начальная поддержка Wi‑Fi 8, что позволит в будущем работать с новыми стандартами беспроводной связи.
В виртуализации и безопасности тоже нашлись полезные правки. Например, в nfsd экспериментально включили возможность использовать POSIX ACL и добавили динамическое изменение пула потоков в зависимости от нагрузки. Блокировка экспорта через NFS специализированных псевдо-файловых систем, таких как pidfs и nsfs, тоже получила улучшения.
Аппаратная поддержка и прочие улучшения
Драйверная подсистема существенно доработана в ключевых направлениях. Поддержка ntfs3, которую развивает Paragon Software, снова получила развитие: внедрение iomap упрощает работу с файловыми операциями на низком уровне, добавлены режимы SEEK_DATA и SEEK_HOLE для более точной навигации по разреженным файлам, а delalloc позволяет эффективнее распределять запись данных. В F2FS сделали шаг в сторону повышения эффективности работы с памятью за счет перехода на крупные страницы, что снижает накладные расходы при обработке больших объемов данных.
На уровне аппаратной поддержки изменения распределены по множеству платформ. В архитектурах вроде arm64 и riscv подтянули совместимость с новыми поколениями процессоров и обновили код, связанный с управлением энергопотреблением и инициализацией устройств. Графический стек также не остался без внимания: обновления в amdgpu, драйверах Intel и NVIDIA касаются как исправлений, так и улучшений стабильности при длительной нагрузке. Параллельно продолжается адаптация ядра под современные однокристальные системы, где важны не только производительность, но и корректная работа встроенных контроллеров и периферии.
В целом релиз выглядит вполне логично. Здесь собрали множество точечных улучшений, которые в сумме делают ядро стабильнее и удобнее в повседневной работе. А вы уже опробовали новинку? Что скажете? Делитесь в комментариях.