Линус Торвальдс объявил релиз ядра Linux 6.14. В выпуске заметны вещи, которые касаются игровых сессий через Wine/Proton, ML на GPU/NPU и повседневной админки: Btrfs, FUSE, cgroup, Device Mapper. Ниже сжатый обзор с уклоном в то, что реально трогает десктоп и сервер.
Цифры релиза
- Исправлений: 12 115 от почти 2 тысяч разработчиков;
- Размер патча: около 39 МБ (порядка 531 тыс. строк добавлено, 236 тыс. удалено);
- Распределение: драйверы ~41%, сетевой стек ~14%, архитектуры ~13%, файловые системы ~7%, внутренние подсистемы ~4%.
Объём меньше, чем в 6.13, но набор фич плотный: синхронизация NT, политики чтения Btrfs RAID1, dmem cgroup, FUSE поверх io_uring.
Ключевые изменения
1. ntsync: синхронизация Windows NT в ядре
Драйвер ntsync даёт символьное устройство /dev/ntsync и примитивы синхронизации в стиле Windows NT. Для Wine/Proton это снижает накладные расходы, которые раньше уходили в RPC в userspace. На практике более предсказуемая производительность Windows-игр на Linux без переписывания всего Wine-стека.
2. Btrfs RAID1: политики чтения
Для RAID1 в Btrfs появились режимы балансировки чтения (раньше в основном pid):
- rotation равномерно по дискам (часто по умолчанию);
- latency с учётом задержек (полезно при деградации диска);
- devid ручное управление.
Переключение: /sys/fs/btrfs/<UUID>/read_policy. Имеет смысл на хранилищах, где read path критичен, и на стендах, где сравнивают диски разной «живости».
3. dmem cgroup: память устройств (GPU)
Контроллер dmem в cgroup учитывает области памяти устройств (в т.ч. GPU) отдельно. Это помогает не смешивать лимиты GPU-нагрузки с обычной RAM и снижает риск жёстких обрывов при исчерпании device memory. Актуально для ML-джоб, shared GPU-нод и контейнерных платформ, где GPU уже не «общий безлимит».
4. FUSE + io_uring
Обмен между ядром и FUSE-обработчиком в userspace может идти через io_uring, с меньшим числом переключений контекста. Для SSHFS, userspace-ФС и облачных FUSE-адаптеров это путь к меньшей latency при том же API.
5. fsnotify: FS_PRE_ACCESS
Событие FS_PRE_ACCESS срабатывает до доступа к содержимому файла, синхронно: ядро ждёт ответ userspace. Можно организовать ленивое заполнение файла из медленного бэкенда или политику доступа до фактического read. Это не «магический firewall», а hook для контролируемых сценариев.
6. Некэшируемый буферизированный I/O
Режим, при котором данные уходят из page cache сразу после чтения/записи. На очень быстрых NVMe кэш в RAM для одноразовых потоков часто избыточен: новый путь экономит память без полного перехода на Direct I/O с его API-сложностью.
7. Железо: AMD XDNA NPU и Snapdragon 8 Elite
- amdxdna драйвер NPU AMD XDNA (серии Ryzen 7040/8040, Alveo V70, Versal) для ускорения ML-операций на NPU;
- Qualcomm Snapdragon 8 Elite (SM8750) и ряд других ARM/SoC расширенная поддержка платформ в дереве.
8. XFS, NFS, Device Mapper
- XFS: reverse mapping в realtime-режиме и на этой базе reflink (копии через клон метаданных);
- NFS: делегирование атрибутов (mtime и др.) на стороне клиента в NFSv4.2, улучшения LOCALIO;
- Device Mapper: атомарная запись в dm-mirror, dm-raid1 и смежных модулях.
9. Мелочи, которые копятся
- кэширование размера symlink: readlink быстрее порядка 1.5% в тестах на ext4/tmpfs;
- оптимизации flush TLB при переключении контекста;
- возврат модуля md-linear (убирали в 6.8, вернули по спросу);
- AT_EXECVE_CHECK и securebits для ограничения исполнения скриптов через интерпретатор, не только «бинарник»;
- SELinux xperm-правила, SHA512 по умолчанию для подписи модулей вместо SHA1.
Как подходить к внедрению
- Десктоп: ставьте ядро из репозитория дистрибутива (пакеты вроде
linux-image-6.14*, когда они появятся в вашем канале), проверяйте Wine/Proton и железо, держите запасное ядро в GRUB. - Сервер: сначала staging, smoke-тесты Btrfs/FUSE/cgroup/GPU, план отката на предыдущее ядро, не чистите старые образы до стабильной недели под нагрузкой.
Полный разбор изменений в анонсе Линуса на LKML и в обзорах kernelnewbies / LWN по merge window 6.14.
Кратко
- ntsync плюс для Wine/Proton;
- Btrfs RAID1 read_policy тюнинг чтения;
- dmem cgroup лимиты памяти GPU/device;
- FUSE+io_uring и uncached buffered I/O в I/O-стеке;
- XFS reflink (realtime), NFS attrs, atomic write в DM;
- NPU AMD XDNA и новые ARM SoC в драйверах.