Итак, спустя два месяца работы вышел релиз ядра Linux 6.19. В него вошло больше 15 тысяч исправлений от 2000 разработчиков. Патч получился солидным — больше 50 мегабайт, изменения затронули почти 14 тысяч файлов. Основная часть работы традиционно пришлась на драйверы устройств, архитектурный код и сетевой стек. А еще появилось несколько заметных изменений, которые касаются серверных нагрузок, виртуальных сред, сетей и встроенных девайсов.
Кстати, сразу после этого анонса Линус Торвальдс объявил о переходе к ветке 7.0. Почему и зачем? Давайте разбираться.

Что с нумерацией версий
В анонсе 6.19 Линус Торвальдс сообщил, что следующий релиз выйдет как 7.0. Причем технической необходимости в этом не было: просто номера в серии 6.x стали слишком длинными, и он решил начать новую мажорную ветку. И так случалось уже не раз.
В 2015 году после 3.19 вышла версия 4.0, а в 2022-м после 5.19 — 6.0. В обоих случаях это было просто изменение нумерации, без перелома в архитектуре или резкого набора новых функций. С переходом на 7.0 ситуация такая же: серия 6.x завершилась, дальше развитие продолжается в рамках новой мажорной версии. Сам релиз 7.0 будет обычным этапом разработки с привычным merge window и стандартным циклом изменений.
Момент был выбран символично. В 6.19 завершились несколько долгосрочных экспериментов, включая интеграцию Rust. Теперь язык переходит в стабильный статус официального ЯП. Кроме того, до рабочего состояния довели механизм полной замены ядра без перезагрузки и расширили поддержку современных методов изоляции в виртуальных средах. Это уже не тестовые функции, а полноценные возможности, которые стоит использовать в обычной работе.
А теперь к обновлениям

Linux 6.19 — заметный релиз с большим количеством весьма полезных изменений. Так, разработчики обновили механизмы работы с памятью и вводом-выводом, усилили безопасность, оптимизировали сетевой стек и добавили поддержку нового оборудования. Многие из этих изменений незаметны на первый взгляд, но они напрямую влияют на стабильность, скорость работы и удобство сопровождения системы. Разберемся, что именно добавили и улучшили.
Live-обновления: от патчей к полной замене ядра
Одно из самых заметных нововведений в 6.19 — подсистема Live Update Orchestrator (LUO), построенная на базе Kexec HandOver. Она позволяет полностью заменить ядро без остановки системы, сохраняя состояние устройств, памяти, прерываний и даже операций DMA. Раньше live patching ограничивался исправлением отдельных уязвимостей, а теперь появилась возможность обновить ядро целиком, не прерывая работу приложений.
В крупных дата-центрах перезагрузка тысяч машин ради обновления — это часы потерянного времени и денег. LUO решает проблему на новом уровне, хотя технология пока свежая и требует тщательной проверки. Дополняют ее скрипт klp-build для удобной сборки live-патчей и обновленный objtool.
Параллельно развиваются другие механизмы непрерывности. Например, аудит-подсистема сократила накладные расходы почти вдвое. Добавили QoS-лимиты для s2idle, чтобы ограничить пробуждения процессора в режиме ожидания. Даже в zram появились батчинг операций записи для компрессионного свопа. Такие изменения складываются в общую картину: ядро все больше ориентируется на сценарии, где высокая доступность критична.
io_uring: дальнейшее развитие асинхронного ввода-вывода
Интерфейс io_uring продолжает получать дополнения, расширяющие его возможности. В 6.19 появился режим Zero-Copy Receive: данные из сети попадают прямо в буфер приложения, без лишних копирований внутри ядра. Добавили поддержку переменного размера SQE, новые опции настройки колец через IORING_SETUP_NO_MMAP, операции getsockname и getpeername прямо через io_uring.
Эти улучшения снижают задержки и нагрузку на процессор в высоконагруженных сетевых сервисах — от баз данных до контейнерных оркестраторов. io_uring постепенно становится более универсальным инструментом для асинхронных операций, хотя и не вытесняет полностью традиционные системные вызовы. Развитие идет постепенно, с сохранением совместимости.
В высокопроизводительных сценариях такие оптимизации дают заметный эффект: меньше контекстных переключений, лучшее использование аппаратных ресурсов. io_uring уже давно помогает обходить ограничения классических интерфейсов, и каждое новое дополнение укрепляет его позицию как одного из ключевых компонентов современного ядра.
Безопасность: аппаратные барьеры и криптографически�� улучшения
Безопасность остается приоритетом, так что в 6.19 появилось несколько серьезных новшеств. Поддержка Intel LASS обеспечивает линейное разделение адресных пространств, блокируя спекулятивные атаки на аппаратном уровне. Похожие механизмы реализованы для ARM через MPAM. Добавлена инфраструктура шифрования PCIe-каналов и аутентификации устройств в виртуальных машинах с TDX и SEV-SNP.
Отдельный блок изменений касается криптографии и программных механизмов. В библиотеку включили SHA-3 во всех вариантах, SHAKE и BLAKE2b. Появился Confidential VMBus для Hyper-V — защищенный канал связи между гостем и гипервизором. Улучшен аудит, добавлены scoped-примитивы для предотвращения спекулятивного чтения пользовательских данных, pidfd-сигналы в coredump.
Все вместе создает многослойную защиту: от низкоуровневых процессорных барьеров до политик доступа. Такие новшества особенно важны в конфиденциальных вычислениях и критической инфраструктуре, где утечка данных недопустима.

Rust в ядре: эксперимент завершен
Проект Rust-for-Linux идет уже несколько лет, и версия 6.19 не исключение. Добавлены библиотеки для работы с rbtree, pin-init, числовыми операциями. Появились абстракции драйверов I2C и PWM, макросы для параметров модулей, поддержка целочисленных значений.
С 7.0 поддержка языка официально выходит из экспериментального статуса. Она не включается по умолчанию, код на C остается основой, но новые подсистемы уже могут использовать преимущества Rust — в первую очередь гарантии безопасности памяти на этапе компиляции. Это снижает риск уязвимостей, которые десятилетиями сопровождали разработку на C.
Переход идет осторожно: никто не планирует переписывать все ядро. Но появление второго языка в стабильной ветке — важный сигнал. Чего именно? Проект становится мультиязычным, привлекает новых разработчиков, упрощает создание безопасных драйверов.
Файловые системы и подсистема ввода-вывода
В 6.19 немало улучшений получили ФС. Btrfs теперь сохраняет состояние операций scrub и device replace перед спящим режимом, чтобы не блокировать suspend. Подготовлена интеграция с fscrypt, добавлена поддержка RAID56 для блоков больше страницы. Ext4 наконец включила их больше 4 КБ на x86 — это дает до 50 процентов прироста в буферизованной записи.
FUSE научился лучше работать с объемными folios при буферизованном чтении, загружая только недостающие данные. VFS получил recallable delegation для директорий в NFS. В подсистеме ввода-вывода включили по умолчанию per-CPU кеширование bio — заметный прирост производительности.
Такие изменения помогают ядру лучше справляться с современными накопителями: от быстрых SSD до распределенных хранилищ. Важна не только скорость, но и надежность, совместимость с энергоэффективными режимами. Развитие идет в сторону большей гибкости и производительности под реальными нагрузками.
Сетевой стек: оптимизации и новые протоколы
Разработчики убрали spinlock'и в __dev_queue_xmit и перешли на lockless llist. Под большим трафиком это увеличивает пропускную способность и снижает потребление CPU. Добавлена поддержка CAN XL с полезной нагрузкой до 2048 байт и возможностью туннелирования Ethernet.
Появился непрерывный busy polling в kernel threads для низколатентной обработки дескрипторов. Новые sockaddr_unsized с гибкими массивами, дополнительные sysctl для TCP-приемного буфера. Все это делает ядро лучше подготовленным к современным сетям — от дата-центров до промышленных систем.
Оптимизации затрагивают критические пути, где каждая микросекунда на счету. Развитие сетевого стека отражает рост требований: больше трафика, ниже задержки, выше надежность.
Аппаратная поддержка и драйверы
Драйверы, как обычно, заняли значительную часть изменений. В графической подсистеме появился API для аппаратного преобразования цветов при HDR-выводе. В AMDGPU расширили поддержку старых карт на архитектуре GCN 1.0/1.1 — серии Radeon HD 7000–9000 получили более современную функциональность.
Добавлены драйверы для Arm Ethos NPU, ASUS Armoury и ряда новых звуковых чипов. Расширена поддержка плат и платформ на ARM и RISC-V, включая устройства на базе MediaTek и некоторые модели Bananapi. Также началась работа над драйвером NVIDIA Nova на Rust.
В целом изменения затрагивают как десктопные GPU, так и встраиваемые и специализированные решения, — обычная для ядра работа по расширению поддержки железа.
Куда движется ядро
Linux давно используют на серверах и в инфраструктуре, и сегодня его основная нагрузка — это дата-центры, облачные платформы, сетевое оборудование и встраиваемые системы. Поэтому эволюция ядра во многом связана с виртуализацией, изоляцией, высокой плотностью нагрузок и поддержкой разного железа.
В ближайших релизах работа продолжится в тех же направлениях: «допиливание» механизмов обновления без перезагрузки, развитие io_uring, усиление поддержки RISC-V и других архитектур, улучшение работы с энергоэффективными режимами. Безопасность будут усиливать по мере появления новых аппаратных возможностей у процессоров.
И еще раз стоит повторить: переход на 7.0 сам по себе ничего не меняет в модели разработки. Проект продолжает двигаться вперед с той же скоростью, с регулярными циклами и постепенными изменениями без резких поворотов. А вы уже обновились? Что скажете?