Линус Торвальдс объявил о выпуске Linux 7.3 — новой версии основного ядра Linux, на котором работает Ubuntu 26.10. Обновление улучшает производительность видеокарт AMD с малым объёмом видеопамяти, ускоряет операции ввода-вывода в ext4 и меняет распределение процессорного времени между группами приложений.
Linux 7.3, как ожидается, станет новой версией ядра с длительным сроком поддержки (LTS).
«Сейчас воскресный вечер, и на этой неделе мне каким-то образом удалось достаточно долго сохранять ясность ума, чтобы не забыть, какой сегодня день недели. Поэтому выпуск не задерживается случайным образом. Чудеса случаются!» — написал Торвальдс.
Что нового в Linux 7.3
Более высокая производительность видеокарт AMD с малым объёмом видеопамяти
В Linux 7.3 улучшено управление ситуациями, когда видеокарте AMD не хватает видеопамяти (VRAM). Раньше, если при одновременной работе нескольких приложений VRAM заполнялась, ядро выделяло память по принципу очереди. Например, поздно запущенная игра могла лишиться быстрой видеопамяти и перейти на системную оперативную память (GTT).
Теперь ядро может вытеснять из VRAM незащищённые данные фоновых приложений, освобождая место для более приоритетных задач — например, игры, которой нужна защищённая память.
Эту работу выполнила Натали Фок из Valve. В тестах с игрой Indiana Jones and the Great Circle изменения позволили ей хорошо работать на видеокарте с 8 ГБ памяти даже при настройках, увеличивающих потребность в VRAM примерно до 9 ГБ.
Это лишь часть проделанной работы: дальнейшие улучшения управления видеопамятью появятся в следующих версиях ядра.
Исправления для старых видеокарт и процессоров AMD
В нескольких предыдущих версиях ядра улучшали поддержку старых видеокарт, и эта работа продолжается. Для видеокарт AMD Radeon, начиная с серии HD 7000 (GCN 1.0), стали доступны модификаторы форматов DRM. Они описывают структуру буфера изображения и в некоторых случаях повышают производительность, а также улучшают поддержку композитных серверов Wayland на базе Vulkan.
Старые процессоры AMD Athlon XP, а также некоторые Intel Pentium III и Celeron теперь могут использовать инструкцию SFENCE для упорядочивания операций записи в память без поддержки SSE2. Это исправляет ошибочное требование, присутствовавшее в предыдущих версиях ядра.
Более эффективное планирование процессорного времени для cgroup
Linux 7.3 меняет распределение процессорного времени между приложениями и службами. Цель — сохранить отзывчивость системы, когда фоновые задачи одновременно конкурируют за ресурсы.
Планировщик распределяет процессорное время между группами процессов, которые преимущественно выполняются на процессоре, и перемещает cgroup в одну очередь выполнения, чтобы уменьшить задержки. Режим concur стал режимом по умолчанию, но при желании можно вернуть прежнее поведение.
В сопроводительном описании отмечается, что новый режим по умолчанию выбрали в надежде, что он «принесёт пользу большему числу людей, чем навредит». Планирование cgroup часто вызывало жалобы на задержки, поэтому изменения в этой области могут оказаться полезными.
В тестах, проведённых сопровождающим планировщик Петером Зийлстрой, минимальная частота кадров в одной игре выросла с 3,8 до 20,6 кадра в секунду при работе восьми ресурсоёмких фоновых процессов. Средняя частота кадров увеличилась с 48 до 57,2 кадра в секунду.
Более быстрое чтение и запись в ext4
В ext4 — файловой системе по умолчанию в Ubuntu — улучшена производительность. Ускорилась параллельная прямая запись ввода-вывода, обходящая кэш страниц, и функция fallocate(); также исправлено замедление буферизованной записи.
В ext4 и XFS ускорилось небольшое прямое чтение с дисков. В тестах инженера ByteDance с твердотельным накопителем NVMe PCIe Gen5 скорость случайного чтения блоков по 4 КБ выросла с 1,92 до 2,19 млн операций в секунду. Прирост был больше при использовании io_uring, позволяющего обрабатывать больше операций чтения одновременно.
Драйвер ntfs3 получил базовую поддержку альтернативных потоков данных — функции Windows, позволяющей хранить дополнительные данные вместе с содержимым файла. Более новый драйвер ntfs, доступный как необязательный начиная с Linux 7.1, получил поддержку чтения сжатия Windows Overlay Filter (WOF).
Поддержка Steam Controller, MSI Claw и других устройств
В Linux 7.3 появился начальный драйвер для Steam Controller. Valve также добавила драйвер геймпада MSI Claw, а исходный драйвер Steam Controller теперь поддерживает больше датчиков.
USB-микрофон HyperX QuadCast 2 сообщает системе, когда звук выключен. Ядро также корректно обрабатывает подключение и отключение микрофона в беспроводной гарнитуре Logitech PRO X Wireless.
Драйвер Logitech HID, используемый микрофоном, поддерживает программируемые кнопки HID++ 2.0. Это важно, в частности, для владельцев мыши Logitech Signature M650.
Двухканальный DJ-микшер Pioneer DJ DJM-S11 получил поддержку USB-аудио. Исправлена работа USB-сквозного подключения синтезатора M-Audio Venom. На ноутбуках TUXEDO на базе TongFang XxAF5xxx теперь обнаруживаются встроенные микрофоны.
Перед использованием альтернативных режимов USB-C, например DisplayPort и Thunderbolt, ядро проверяет возможности кабеля. Это должно устранить проблемы, возникавшие, когда неподдерживаемый кабель принимался за совместимый.
Датчики на большем числе материнских плат ASUS, включая ProArt Z690-CREATOR WIFI и ROG CROSSHAIR X870E HERO, теперь передают показания. Кроме того, добавлена поддержка PCI-адаптеров Wi-Fi Realtek 8922DE и 8922DE-VS.
Поддержка Apple M3 Pro, Max и Ultra
В Linux 7.3 появилась ранняя, начальная поддержка чипов Apple M3 Pro, Max и Ultra. В Linux 7.2 добавили начальную поддержку базовой модели M3. Поддержка M3 пока находится на раннем этапе и не так готова к использованию, как поддержка M1 и M2.
Встроенный в ядро SMB-сервер ksmbd получил необязательную поддержку Apple Time Machine. Это позволит пользователям Mac создавать резервные копии macOS на сетевых ресурсах под управлением Linux.
Монитор Apple Studio Display надёжнее работает с видеокартами AMD: драйвер AMDGPU DC лучше обрабатывает технологию двухпоточной передачи изображения. Рабочие столы теперь не воспринимают составную панель 5K как два отдельных экрана.
Другие изменения в Linux 7.3
- Вспомогательные планировщики
sched_extпозволяют cgroup запускать планировщики на базе BPF. - Блочные устройства поддерживают
RWF_DONTCACHEдля выборочного кэширования. - Добавлен новый метод изоляции с помощью
failfsиfchroot. - Процесс PID 1 и потоки ядра теперь используют раздельные состояния файловой системы.
- Добавлены библиотечные API для распространённых режимов шифрования AES.
- В некоторых сценариях операции
fsyncв btrfs выполняются до пяти раз быстрее. - FUSE получил пулы буферов и ввод-вывод без копирования через
io_uring. - Nouveau добавил NVDEC, необходимый для Vulkan Video в NVK.
- Для swap добавлена структура
swap_ops, которая должна помочь в дальнейших улучшениях. - Добавлена поддержка больших TCP-пакетов в туннелях UDP под управлением VXLAN и GENEVE.
- Добавлена поддержка Rust для PowerPC.
В ядро также добавлен большой объём кода, созданного с помощью больших языковых моделей. Он позволяет гипервизорам отслеживать использование памяти виртуальными машинами: неиспользуемые страницы помечаются как недоступные, чтобы освободить память.
Как установить Linux 7.3 в Ubuntu
Ubuntu 26.10 поставляется с Linux 7.3 и получит финальную версию ядра через обновления программного обеспечения. Пользователи Ubuntu 26.04 LTS получат это ядро в одном из будущих обновлений HWE.
В других версиях Ubuntu Linux 7.3 можно установить на свой риск, воспользовавшись сборками основного ядра от Canonical. Они не рекомендуются: в них нет специфичных для Ubuntu исправлений и драйверов, не предоставляется поддержка и не выпускаются обновления безопасности.
Если система работает исправно, устанавливать новое ядро только ради обновления не нужно.
Рекордное число изменений
По статистике LWN, в Linux 7.3 вошло 18 765 изменений, не считая слияний, от более чем 3 000 разработчиков. 807 из них впервые внесли вклад в разработку ядра.
Следующее окно слияния откроется после выпуска Linux 7.3. Посмотрим, удастся ли следующей версии превзойти установленные этим ядром рекорды.
