Источник

27 июля 2025 года Линус Торвальдс представил релиз ядра Linux 6.16 под кодовым названием Baby Opossum Posse. Новый релиз вышел спустя два месяца после версии 6.15, строго по графику, и включает множество улучшений, оптимизаций и поддержку нового оборудования. Релиз Linux 6.17 ожидается в октябре 2025 года и станет основой для дистрибутивов, таких как Ubuntu 25.10 и Fedora 43. Исходный код Linux 6.16 доступен на kernel.org, а коммит релиза можно найти на GitHub и в Makefile.

В Linux 6.16 принято 15 924 исправления от 2 145 разработчиков, размер патча составил 50 МБ: изменено 13 793 файлов, добавлено 655 451 строк кода, удалено 316 441 строк. По сравнению с Linux 6.15 (15 945 исправлений, 59 МБ), изменения чуть менее объемные, но затрагивают ключевые подсистемы. Около 45% изменений связаны с драйверами, 16% — с архитектурным кодом, 13% — с сетевым стеком, 4% — с файловыми системами и 3% — с внутренними подсистемами ядра. Исходный код включает 38,4 миллиона строк в 78,4 тысячах файлов (по данным cloc).

Одновременно выпущено ядро Linux-libre 6.16-gnu, очищенное от несвободных компонентов. В нём нейтрализована загрузка блобов в новых драйверах, таких как Intel QAT 6xxx crypto, ST vd55g1 sensor, ath12k AHB WiFi, Aeonsemi AS21xxx и MediaTek 25Gb Ethernet. Также обновлена чистка блобов в драйверах Nova Core, Nouveau, Realtek r8169 Ethernet, Qualcomm Iris, Venus, Mediatek mt7996 WiFi, Qualcomm ath11k и ath12k WiFi, Texas Instruments tas2781 и Renesas R-Car gen4 PCIe.

Системные сервисы и память

Новый механизм Kexec HandOver (KHO) позволяет перезапускать ядро без потери состояния системы. KHO сериализует состояние ключевых подсистем в защищённую область памяти, что позволяет новому ядру восстановить его после перезапуска. Это основа для Live Update Orchestrator (LUO), который обеспечит обновление ядра без остановки устройств, что особенно важно для серверов с высокой доступностью.

Для архитектуры x86_64 пятиуровневые таблицы страниц памяти теперь включены по умолчанию, а параметр CONFIG_X86_5LEVEL удалён, что упрощает управление большими объёмами памяти и повышает производительность. Добавлена поддержка Intel APX (Advanced Performance Extensions), предоставляющего 16 дополнительных регистров общего назначения, что снижает количество операций чтения/записи в память, увеличивая производительность и энергоэффективность, особенно для высоконагруженных приложений.

В подсистему futex добавлены локальные хэш-таблицы (futex_hash_bucket) для операций PROCESS_PRIVATE, что уменьшает конкуренцию между потоками. Опции FUTEX2_NUMA и FUTEX2_MPOL позволяют размещать futex ближе к использующим их процессам, оптимизируя доступ в NUMA-системах. В io_uring появилась операция IORING_OP_PIPE для создания неименованных каналов, аналогичная pipe2, с поддержкой фиксированных файловых дескрипторов, что упрощает асинхронный ввод/вывод.

Для ARM64 реализован режим ленивого вытеснения (PREEMPT_LAZY), который задерживает вытеснение обычных задач (SCHED_NORMAL) до границы тика, сохраняя приоритет для realtime-задач (RR/FIFO/DEADLINE). Также добавлена поддержка расширений SME (Scalable Matrix Extension), улучшающих обработку матричных операций. Для RISC-V оптимизирован системный вызов getrandom() через vDSO, что ускорило генерацию случайных чисел в 17 раз, и добавлена поддержка расширений Zicbop (оптимизация кэша), Zabha (атомарные операции) и Svinval (управление TLB).

Поддержка Rust в ядре расширена в рамках ветки Rust-for-Linux. Добавлены абстракции для разработки графических драйверов, интеграция с configfs, управление частотой CPU, структуры данных xarray и макрос assert! для тестов KUnit. Модули alloc, time, str, list, workqueue и page получили новые возможности. Минимальная версия GCC для сборки поднята до 8, а binutils — до 2.30. Удалён устаревший системный вызов uselib(), заменённый mmap() для работы с разделяемыми библиотеками. В драйвере intel_pstate добавлена поддержка Energy Aware Scheduling (EAS) для гибридных процессоров Intel Lunar Lake, сочетающих высокопроизводительные и энергоэффективные ядра.

Добавлена возможность маппинга кольцевого буфера трассировки ядра в пользовательское пространство, что упрощает анализ производительности. Для LoongArch лимит CPU увеличен с 256 до 2048, а также внедрён планировщик SCHED_MC для многоядерных систем.

Безопасность с виртуализацией

Поддержка Intel TDX (Trusted Domain Extensions) для KVM обеспечивает шифрование памяти гостевых систем, защищая их от вмешательства администратора хоста и физических атак. Это делает Linux 6.16 более безопасным для облачных сред. Виртуальный драйвер TPM позволяет виртуальным машинам взаимодействовать с эмулируемыми TPM через SVSM (Secure VM Service Module), что упрощает использование криптографических функций в виртуализированных средах.

Возобновлена поддержка GCC-плагина randstruct, рандомизирующего раскладку структур данных на этапе компиляции, что усложняет эксплуатацию уязвимостей. SELinux оптимизирован за счёт кэширования проверок доступа к каталогам и поддержки масок в правилах genfscon, что ускоряет применение политик безопасности. Подсистема IMA теперь проверяет целостность ядер при загрузке через kexec, предотвращая запуск скомпрометированных образов.

В KVM для ARM64 реализована поддержка вложенной виртуализации (отключена по умолчанию), позволяющая запускать гипервизоры внутри гостевых систем. Для RISC-V поддержка KVM объявлена стабильной, что укрепляет позиции архитектуры в серверных и облачных сценариях. Добавлена возможность отправки core-дампов через UNIX-сокеты, что позволяет создавать безопасные обработчики в пользовательском пространстве без вызова привилегированных процессов.

Для EFI внедрена поддержка секции SBAT (Secure Boot Advanced Targeting), содержащей метаданные об отозванных загрузочных компонентах, что повышает безопасность загрузки. Добавлена возможность передачи файловых дескрипторов через UNIX-сокеты с опцией SO_PASSRIGHTS, а также поддержка pidfd для завершённых процессов через SO_PEERPIDFD, что упрощает обработку ошибок в сетевых приложениях.

Сеть

Новый драйвер ovpn значительно ускоряет OpenVPN, перенося операции шифрования, обработки пакетов и управления каналом в ядро. Это устраняет накладные расходы на переключение контекста и позволяет оптимизировать маршрутизацию через внутренние API ядра. Device Memory TCP теперь поддерживает передачу данных из памяти устройств (TX path) в режиме zero-copy, обеспечивая прямую передачу между сетевой картой и видеопамятью GPU, что полезно для высокопроизводительных приложений, таких как машинное обучение.

Удален сетевой протокол DCCP (Datagram Congestion Control Protocol), который не получил широкого распространения и не обновлялся пять лет. Это устраняет препятствия для оптимизации стека TCP, включая переработку структуры inet_connection_sock. Оптимизации сетевой подсистемы включают: ускорение маршрутизации IPv6 (до 3 раз за счёт улучшенной работы с таблицами маршрутов), улучшение GRO для туннелированного UDP-трафика (на 10%), автотюнинг принимающих буферов TCP (рост пропускной способности на 60% для 200 Гбит/с каналов).

Netfilter теперь поддерживает маски в именах сетевых устройств для netdev и flowtable, а также улучшенное отслеживание соединений через conntrack в инфраструктуре nft trace. В сетевой файловой системе AFS добавлена поддержка GSSAPI для шифрования соединений с серверами YFS и OpenAFS, что повышает безопасность обмена данными. В BPF реализована возможность создания обработчиков очередей пакетов (qdiscs), что даёт больше контроля над обработкой сетевого трафика.

Дисковая подсистема, файловые системы

Новый драйвер zloop позволяет создавать зонированные блочные loopback-устройства, эмулирующие работу обычных блочных устройств с использованием файлов из существующей файловой системы. Это полезно для тестирования файловых систем, обработчиков device mapper и приложений с поддержкой зонированных устройств, где данные записываются последовательно в зоны групп блоков. XFS теперь поддерживает атомарную запись нескольких блоков, обеспечивая целостность данных при сбоях.

Ext4 получила улучшения: механизм fast commit оптимизирован для ускорения транзакций, поддержка large folios повысила производительность последовательного ввода/вывода на 37%, а атомарные операции записи теперь охватывают несколько блоков. Поддержка DAX в ext2 объявлена устаревшей и будет удалена к концу 2025 года, так как ext2 считается эталонной реализацией без специфичных возможностей.

Bcachefs обзавелся опцией rebalance_on_ac_only, запрещающей ребалансировку и фоновое сжатие при питании от аккумулятора, что экономит энергию на ноутбуках. Также ускорено удаление снапшотов и устройств, снижено потребление памяти в режиме только чтения, а некоторые операции восстановления после сбоев теперь выполняются в фоновом режиме. EROFS получил поддержку ускорения сжатия и шифрования через Intel QAT, что повышает производительность на системах с соответствующими процессорами.

NFS увеличил максимальный размер порции данных для операций чтения/записи с 1 до 4 МБ (по умолчанию 1 МБ), что улучшает производительность при работе с большими файлами. FUSE теперь поддерживает large folios и очистку кэша dentry, что ускоряет операции с каталогами. OverlayFS позволяет комбинировать заслуживающие доверия слои с dm-verity и данные в непривилегированных пространствах имён, обеспечивая гибкость в контейнерных средах.

Fanotify стал доступен для пользователей с CAP_SYS_ADMIN в пространствах имен, что упрощает отслеживание изменений файловых систем. OrangeFS, UFS, BFS и OMFS переведены на новое API монтирования, упрощающее создание сложных иерархий. Новая настройка vfs_cache_pressure_denom позволяет управлять кэшем dentry при нехватке памяти, а подсистема управления питанием теперь самостоятельно замораживает файловые системы и переменные EFI для спящих режимов.

Оборудование

Добавлена поддержка USB-аудио offload, позволяющая устройствам обрабатывать звуковые потоки в спящем режиме, что снижает энергопотребление портативных устройств. Драйвер Nova для GPU NVIDIA с GSP-прошивками (GeForce RTX 2000, Turing), написанный на Rust, расширен компонентом nova-drm для взаимодействия с GPU из пользовательского пространства. Начата интеграция DRM-драйвера Asahi для GPU Apple AGX, используемых в чипах Apple Silicon, с добавлением UAPI для Mesa (основной код драйвера ожидается в будущем).

Драйвер Nouveau получил поддержку GPU NVIDIA семейств Hopper и Blackwell, что расширяет возможности открытого драйвера для новых видеокарт. AMDGPU внедрил механизм usermode queue для GPU Navi 4X и GFX 12, позволяющий отправлять очереди работ напрямую в GPU без обращения к планировщику ядра, что повышает производительность. Драйвер Xe для Intel Arc и Tiger Lake поддерживает разные прошивки для различных семейств GPU, улучшая совместимость.

Поддержаны новые звуковые системы, включая Intel WCL, AMD ACP 7.x, Cirrus Logic CS35L63, CS48L32, Everest ES8375, ES8389, Pioneer DJM-V10, Longsoon-1 AC'97, NVIDIA Tegra264 и другие. Новые платформы и SoC включают Samsung Exynos7870, Qualcomm Snapdragon X1P42100, RK3562, NXP i.MX94, Amlogic S6/S7/S7D, Allwinner A523, Toradex Verdin AM62P, ROCK 5B+, Nitrogen8M Plus, Retronix R-Car V4H Sparrow Hawk и другие. Удалён драйвер для устаревших плат захвата видео на чипах STA2X11.

А вы уже успели опробовать новый дистрибутив? Если да, пишите в комментариях, как он вам. 

Комментарии (2)


  1. edo1h
    30.07.2025 17:52

    Самое главное забыли: чтение температуры ccd для ryzen 9000 )

    А вы уже успели опробовать новый дистрибутив?

    Серьёзно?


  1. hogstaberg
    30.07.2025 17:52

    О, ядерный ovpn в mainline это годно.