Вышла новая версия ядра Linux 7.0, но не стоит воспринимать новый номер версии как кардинальный поворот в развитии ядра. Как и в предыдущих случаях, переход с 6.19 на 7.0 — это в основном сброс нумерации после того, как минорная версия достигла достаточно высокого значения, а не признак какого-то особенно важного релиза. Теперь, когда мы прояснили этот момент, давайте посмотрим, что нового появилось в этой версии.
Ключевое обновление в Linux 7.0 — снятие пометки «экспериментальная» с поддержки языка Rust. Это (разумеется) не делает Rust доминирующим языком при разработке ядра, но все же является важным шагом на пути к его постепенной интеграции в проект.
Еще одно заметное изменение, связанное с безопасностью, — добавление постквантовых подписей ML-DSA для аутентификации модулей ядра. При этом поддержка схем подписи модулей на основе SHA-1 была удалена.
В ядро добавлена фильтрация на основе BPF для io_uring операций, что позволяет администраторам лучше контролировать работу в средах с ограничениями. Кроме того, благодаря бинарному поиску поиск по типу BTF стал быстрее.
В то же время в этом выпуске продолжается работа по очистке нижних уровней ядра. Удаление кода initrd из linuxrc приближает переход к initramfs как единственному механизму загрузки на ранних этапах.
В Linux 7.0 также появилась NULLFS — неизменяемая и пустая корневая файловая система, предназначенная для систем, которые монтируют реальную корневую файловую систему позже. Кроме того, на большинстве архитектур упрощена обработка вытеснения, а также улучшены перезапускаемые последовательности, рабочие очереди, внутренние компоненты RCU, распределение блоков и защита на основе типов.
Файловые системы и хранилища также получили несколько обновлений. Неблокирующие обновления временных меток теперь работают корректно, а файловые системы должны явно соглашаться на аренду, а не получать ее по умолчанию.
Кроме того, Btrfs теперь поддерживает прямой ввод-вывод с блоками размером больше системной страницы. EROFS по умолчанию поддерживает сжатие LZMA и считает сжатие DEFLATE и Zstandard стабильным. XFS получила функцию автономного самовосстановления, режим для ноутбуков был удален, а F2FS продолжает переход на большие тома.
В системе управления памятью zram теперь позволяет записывать сжатые страницы обратно в память без распаковки, что снижает нагрузку. В подсистеме подкачки используется упрощенная таблица подкачки.
Также стоит отметить, что в NFSD теперь есть динамически настраиваемый пул потоков, протокол NFS v4.1 используется по умолчанию, специальные файловые системы ядра, такие как pidfs и nsfs, больше не поддерживаются, а в NFSD добавлена экспериментальная поддержка POSIX ACL.
В области сетевых технологий и виртуализации ядро поддерживает AccECN для общего использования, добавляет поддержку многопоточности в CAKE для улучшения распределения трафика между процессорами и вводит поддержку сетевого пространства имен для сокетов VSOCK на виртуальных машинах. Также включена предварительная поддержка Wi-Fi 8 (802.11bn).
KVM получил несколько обновлений, в том числе точную отчетность CPUCFG для гостевых систем LoongArch, поддержку AMD ERAPS, новые элементы управления в пользовательском пространстве для подавления широковещательной рассылки в конце прерывания, а также поддержку гостевых систем для полного контроля над PMU для улучшения профилирования. В Hyper-V теперь есть интерфейс debugfs для сбора статистики о работе гипервизора.
Ядро Linux 7.0 доступно для скачивания на kernel.org. Пользователи дистрибутивов с непрерывным выпуском обновлений получат его первыми, а в ближайшие недели оно станет доступно для всех.