Основатель и бессменный куратор ядра Линус Торвальдс объявил в рассылке LKML о выходе Linux 7.3. Релиз состоялся по графику, без привычных задержек, а уже на следующий день открылось окно слияния изменений для будущей версии 7.4.
По словам Торвальдса, на этой неделе не произошло ничего экстраординарного, поэтому финальная сборка 7.3 вышла точно в срок. Сам разработчик при этом уходит в ежегодный семейный отпуск, так что ближайшие пару недель его график работы с pull-запросами будет нестандартным.
Торвальдс отдельно подчеркнул, что продление окна слияния не означает смягчения правил: в релиз попадёт только то, что было готово до открытия окна, а не дорабатывалось уже в его ходе.
Напомним, что вышедшая примерно двумя месяцами ранее Linux 7.2 принесла кэш-ориентированное планирование задач для более высокой производительности и меньшего числа кэш-промахов, более справедливый планировщик GPU, механизм USB4STREAM для потоковой передачи данных по USB4, а также четвёртую фазу реализации swap-таблиц. Ниже разберём ключевые изменения Linux 7.3 и подробно остановимся на архитектурах Arm, RISC-V и MIPS.
Ключевые изменения Linux 7.3
Среди наиболее заметных нововведений релиза:
- Улучшенное управление VRAM для бюджетных видеокарт — когда видеопамяти не хватает, разные приложения начинают конкурировать за неё. Теперь с помощью cgroup dmem система вместо немедленного отката пытается вытеснить незащищённые буферы, освобождая место для защищённого. Это позволяет приложениям реально использовать выделенную им память без постоянного «пинг-понга».
- Прирост производительности Btrfs и Ext4
- Btrfs вернул себе производительность прямого ввода-вывода (Direct I/O), потерянную в прошлых версиях. Для не-SSD накопителей удаление лишней задержки в 1 jiffy при логировании снизило задержки и подняло пропускную способность в 5 раз. Операция fsync с включённым no-holes также стала быстрее в 5 раз.
- Ext4 ускорил параллельные записи через Direct I/O и работу fallocate(), а также исправил регрессию буферизованной записи.
- Ускорение FUSE через io_uring — FUSE-серверы теперь могут передавать ядру пул буферов для обслуживания запросов, снижая потребление памяти. Добавлена и технология zero-copy для FUSE io-uring.
- Поддержка субпланировщиков cgroup (sched_ext) — реализация sched_ext полностью завершена. Теперь процессами внутри cgroup может управлять собственный планировщик на базе BPF, причём разные cgroup могут использовать разные планировщики и принимать разные решения.
Обновления Arm в Linux 7.3
- Allwinner
- Драйвер тактирования — ряд чисток в библиотеке драйвера Allwinner и поддержка RTC-тактирования для Allwinner A733.
- Allwinner A733 — добавлена поддержка MMC, RTC и контроллера NMI.
- Изменения device tree
- A10 — исправлен номер прерывания PMU.
- A100/A133 — добавлен LRADC.
- Включена поддержка overlay для плат sun8i-h2-plus pi.
- A523 — добавлен ИК-приёмник для пультов.
- TV-бокс X96QPRO+ на H728 получил вывод звука S/PDIF.
- Исправлена ориентация датчика mpu6050 в PinePhone.
- Различные стилевые правки.
- Defconfig Arm64 — включён LRADC.
- Новые устройства
- Baijie Helper A133.
- NetCube Systems OpenNMC (dobermann).
- Rockchip
- Драйвер тактирования
- Драйвер для Rockchip RV1106.
- Исправление мультиплексора источника SPI для rk3576.
- Более точное представление дробных коэффициентов PLL.
- Исправление dclk третьего видеопорта, чтобы смена его частоты не влияла на другие компоненты.
- PHY — обновлена подстройка фазы тактовой линии, поддержка 2500 Мбит/с и обработка частоты TMDS.
- Pinctrl — добавлена поддержка SoC RK3308B и RV1106.
- IOMMU — переработана обработка состояний Rockchip, исправлена работа с тактированием, probe и устаревшими fault'ами.
- Контроллер CAN-DF — добавлена поддержка на RK3588.
- Watchdog — добавлен для RV1106.
- Новые устройства
- EmbedFire LubanCat 4 (RK3588S).
- Игровая консоль Anbernic RG Vita-Pro (RK3576).
- Платы Vicharak Vaaman2 и Axon (RK3588).
- LCKFB Taishan Pi 3M (RK3576).
- Orange Pi 5 Pro (RK3588S).
- Graperain G3568 v2 (RK3568).
- Роутер HINLINK/LinkStar H28K (RK3528).
- Youyeetoo YY3588 SBC (RK3588).
- Плата-носитель Alientek DLRV1126 и модуль CLRV1126F (RV1126).
- LincStation E1.
- Драйвер тактирования
- Amlogic
- Драйвер тактирования
- Добавлены AO- и периферийные тактовые сигналы Amlogic A9.
- Исправлено неверное число родителей 32-кГц тактового сигнала на GXBB.
- Контроллер Meson PCIe — скорректировано состояние GPIO PERST#, чтобы оно удерживалось активным до стабилизации питания и REFCLK (устранён сбой перечисления).
- Драйвер SoC — добавлена поддержка Amlogic A1 и T7.
- Прочие драйверы Amlogic
- Исправление debugfs для измерения тактов.
- Поддержка измерения тактов для A1 и T7.
- Device tree Arm64
- Исправления PCIe и NAND для Amlogic AXG.
- Общие правки отступов и пробелов.
- Узлы Pinctrl и GPIO IRQ для A9.
- Узлы измерения тактов для T7 и A1.
- Драйвер тактирования
- Samsung
- Добавлен флагманский мобильный SoC Exynos 1580 (модель 2024 года).
- PHY — улучшения драйвера hdptx: модернизация доступа к регистрам и чистка кода.
- Pin control — добавлен SoC Exynos 8855.
- Ввод
- Драйвер клавиатуры Samsung держит прерывания отключёнными, пока устройство закрыто, плюс чистка логики пробуждения и использование pm_runtime_active.
- Обновлён подсчёт контактов SUR40 согласно спецификации PixelSense.
- Драйвер тактирования
- Exynos990: добавлены недостающие тактовые сигналы и исправлены родители gate-тактов в контроллере PERIS.
- Чистка — использование kzalloc_flex для проверок __counted_by.
- Драйверы SoC
- Исправлена давняя утечка OF-узла в драйвере PMU.
- Новые bindings для Exynos Auto v920 HSI0 syscon.
- DTS Arm — добавлен Bluetooth для платы Google Manta (Nexus 10) на Exynos5250.
- DTS Arm64
- Новый SoC Exynos8855 (рыночное название Exynos 1580) — базовая поддержка с платой SMDK.
- ExynosAutov920: добавлен узел HSI0 syscon.
- Ряд нефункциональных правок стиля под dt-check-style.
- Новые устройства — Samsung Exynos8855 SMDK.
- Qualcomm
- Новый SoC — «загадочный» Shikra на базе Cortex-A78C.
- ASoC — исправления Qualcomm LPASS для ограничений воспроизведения и громкости WSA.
- Подсветка — Qualcomm WLED: удалены лишние вызовы dev_err().
- MFD
- Qualcomm SPMI PMIC: документированы PMG1110 и устройство haptics.
- Qualcomm TCSR: добавлены compatible для Hawi, Maili и Shikra, документирован блок TCSR IPQ9650.
- Тепловой контроль
- Добавлена поддержка монитора Master BandGap.
- Добавлен compatible для температурных привязок Maili.
- Драйвер тактирования
- Такты GCC, TCSR, RPMh и видео для Maili.
- Такты GCC, RPM, GPU, дисплея и аудио для Shikra.
- Такты дисплея и графики для Nord.
- Такты камеры и EVA для Glymur.
- Видеотакты для Hawi.
- PHY
- QMP USB PHY и PCIe PHY для SM8475, PCIe PHY для IPQ9650, QUSB2 PHY для Shikra, поддержка QMP PCIe PHY и UFS PHY для Hawi.
- Многорежимный QMP PCIe Multi-PHY для Glymur, поддержка PCIe PHY для IPQ5210.
- Удалены дублирующиеся заголовки v8 DP, улучшена runtime-обработка для QMP.
- Soundwire — поддержка SCP address paging и mclk_freq, увеличение числа портов данных до 17.
- Pin control
- Добавлены TLMM для Maili, PMIC PMG1110 и LPASS LPI TLMM для Eliza.
- GPIO TLMM безусловно помечаются как способные к пробуждению.
- Улучшения поверх правок irqchip PDC из дерева tglx.
- Правки неприоритетных групп пинов для IPQ806x и IPQ9650.
- Контроллер PCIe
- Добавлен compatible IPQ9650 с глобальным прерыванием.
- Добавлен compatible IPQ5210 с откатом на IPQ9574.
- Поддержка SoC Hawi (binding и драйвер).
- Пропуск GPIO PERST#, предоставляемых нижестоящими PCIe-устройствами.
- Прекращена реклама Attention Button, чтобы pciehp использовал события Presence Detect Changed.
- Wi-Fi — Qualcomm (ath12k): масштабная интеграция инфраструктуры ядра и поддержка MultiPD на платформе AHB.
- IOMMU
- ARM SMMUv2: обновления bindings для Eliza, Maili, Shikra и IPQ9650; поддержка SM8450.
- Исправлены гонки runtime-PM, probe, отчётов о сбоях и инициализации таблиц страниц.
- ASoC — обновления стека драйверов, новые платформы LPI MI2S, SM8475, WSA855X.
- I2C — поддержка SA8797P и SA8255p.
- Прочие обновления драйверов
- Добавлены bindings Maili для SCM, IMEM, AOSS и PMIC GLINK; поддержка IMEM, RPM SMD, LLCC и UBWC для Shikra, включая обработку LLCC ECC-прерываний.
- Добавлен обобщённый сервис Peripheral Authentication Service с бэкендами SCM и OP-TEE, на него переведены драйверы MSM DRM и IPA.
- Добавлены точки трассировки SCM SMC-вызовов и настраиваемая доставка minidump через always-on SRAM.
- Переработана база конфигураций UBWC, добавлены конфигурации Milos и Shikra; поддержка новых версий ICE и статистики подсистем Hawi.
- Упрощён выбор Kconfig для SoC Qualcomm и архитектурные зависимости.
- Использованы managed-ресурсы в путях probe EBI2 и RPMh RSC.
- Добавлен разбор SMEM для конфигурации DDR и выбор конфигурации UBWC по старшему биту адреса банка.
- Включены обобщённые trusted-zone API для медиадрайверов Iris и Venus.
- Исправлены состояние повторного probe SCM, очистка reserved-memory и разыменование NULL в раннем обработчике IRQ; включён доступ к EFI-переменным QSEECOM на Asus Zenbook A16.
- Скорректирована проверка размера прошивки GENI и раскладка extradata PMIC GLINK Thunderbolt.
- Документированы боковой канал Nord AOSS и свойство IMEM minidump SRAM.
- Обновления device tree Arm64
- Введена поддержка SoC Shikra, его контроллеров тактирования GCC и RPM, платформ CQM, CQS и IQS SoM и их отладочных плат.
- Добавлены Eliza CQS SoM и EVK, QCS8550 RB5 Gen 2, Vicharak Axon Mini, HONOR MagicBook Art 14, Microsoft Surface Pro 12, Xiaomi 12 Lite, Motorola Edge 30, Sony Xperia M2 и Motorola Moto G2.
- Расширена поддержка Eliza: USB, SD-карта, тачскрин, PMIC, interconnect, thermal, мониторы пропускной способности CPU и LLCC, QUPv3 и ADSP GPR.
- Расширена поддержка Glymur: контроллеры тактов GPU, камеры и EVA, аудио LPASS, CoreSight, PCIe, USB, области памяти IMEM и PIL, домены питания, thermal и периферия CRD.
- Добавлены дисплей, IPA, камера, USB, аудио, крипто для платформ Kaanapali, Milos, Hamoa, а также контроллер EC для плат Hamoa и Glymur.
- Улучшены описания сетевых платформ: PCIe-порты IPQ, PHY, такты, PWM, регуляторы и прерывания.
- Исправлены bindings и валидация DeviceTree для compatible-строк, именования узлов, диапазонов адресов, тактов, reserved memory, регуляторов и GPIO.
- Добавлены описания PCIe-мостов IPQ9574 и включены PCIe0/PCIe2 для Wi-Fi карт QCN92xx на RDP454.
- Расширена поддержка платформы Shikra: Wi-Fi и Bluetooth для CQM и IQS SoM; включены удалённые процессоры CDSP, LPAICP и MPSS.
- Включено аудио Eliza CQS EVK, добавлены описания LPASS и SoundWire; поддержка PMIC ADC для Hamoa, Monaco и Lemans.
- Исправлены назначения питания QMP PHY, IOMMU-маппинги PCIe и конфигурация пробуждения для ряда плат.
- Включено глубочайшее состояние простоя X1E80100, настроен SPMI ADC thermal на SM8550 и SM8650, добавлен контроллер тактов GPU для Milos.
- Обновления device tree Arm32
- Начальная поддержка Sony Xperia M2 (MSM8926) и Motorola Moto G2 2014 года (MSM8226).
- Добавлены тачскрин, пины Bluetooth, NFC и многоцветный LED-индикатор для HTC One M8 (MSM8974).
- Добавлен узел touchkey для Samsung ExpressATT (MSM8960) и метки каналов XOADC PM8921.
- Консолидированы общие свойства IPA в device tree SDX55.
- Обновления defconfig Arm64
- Включён драйвер EC для Hamoa и Glymur.
- Включён драйвер звука DMIC для Monaco и Lemans.
- Включён WWAN-драйвер BAM-DMUX для Shikra и других платформ с A2 BAM.
- Новые устройства
- Asus Zenbook A16 (UX3607OA).
- Платформа Eliza CQS SoM и плата Eliza CQS EVK.
- Vicharak Axon Mini SBC (QCS6490).
- Motorola Moto G2 (смартфон 2014 года).
- Sony Xperia M2.
- Microsoft Surface Pro 12".
- Системы-на-модуле и EVK на базе Shikra.
- Xiaomi 12 Lite 5G (taoyao).
- Motorola Edge 30 (dubai).
- MediaTek
- Драйвер MFD
- MT6397: поддержка AUXADC и EFUSE для mt6323.
- MT8195 SCP: поддержка SoC MT8189.
- Драйвер тактирования — добавлен MT8173 MFG_TOP.
- Контроллер PCIe — поддержка SoC EcoNet EN7528 и EN751221.
- PCIe Gen3 — добавлен memory-region для ограниченного DMA-буфера.
- Wi-Fi (mt76): поддержка MT7928, NAN для MT7925, улучшения энергосбережения AP для MT7996.
- Драйверы SoC
- Исправлена отсутствующая проверка ошибки в mtk-socinfo и недостающий MODULE_DEVICE_TABLE() в mtk-dvfsrc.
- Переработан способ задания таблиц MMSYS через макрос.
- Device tree Arm64
- Правки отступов и документации для MediaTek Mute-X.
- Исправления предупреждений dtbs-check для MT8390 и MT6795.
- RTC у PMIC MT6359 теперь использует правильную compatible-строку.
- SoC MT8183/86/88/92/95 получили поддержку UART DMA.
- MT8186 получил новую таблицу CCI OPP против зависаний.
- EVK Genio 510/700/1200 и Radxa NIO-12L получили корректное дерево питания PMIC.
- Драйвер MFD
- Другие новые платформы и SoC Arm
- Altera — Agilex72 SoC FPGA на базе Cortex-A720.
- Apple — поддержка M3 Pro, Max и Ultra (на основе базовой поддержки M3 из Linux 7.2).
- NVIDIA — Lenovo ThinkEdge SE70 (Jetson Xavier NX).
- NXP — модуль Variscite DART-MX8M PLUS (плата Sonata) и VAR-SOM-MX8 QuadMax (плата Symphony).
- Texas Instruments — BeagleBadge (AM62L3) и Variscite VAR-SOM-AM62 с платой Symphony.
- Изменения для Raspberry Pi
- V3D — задержка автосна PM runtime снижена со 100 до 50 мс: после устранения проблем когерентности кэша и MMU на BCM2711 (Raspberry Pi 4) раздутая задержка больше не нужна.
- VC4 — исправлено выделение слотов binner на простаивающем GPU (баг Raspberry Pi 3) и устранён UAF при отключении.
- Добавлена поддержка 7-дюймового дисплея Raspberry Pi Touch Display 2 на плате Toradex Verdin.
Обновления RISC-V в Linux 7.3
В архитектуре RISC-V тоже немало изменений:
- Добавлены начальные определения и обнаружение расширений ISA Smcsrind, Sscsrind, Smcntrpmf, Ssccfg, Smcdeleg, Zicclsm, Ziccamoa, Ziccif, Ziccrse, Za64rs и Ssqosid.
- Улучшена реализация update_mmu_cache_range() за счёт flush-by-ASID и использования расширения Svinval на поддерживающих его микроархитектурах.
- Сокращено выделение теневого стека CFI (до 512 МБ) ради экономии виртуального адресного пространства.
- Добавлена начальная поддержка переключения контекста CPU для QoS-тегирования (Ssqosid).
- Код теста скорости невыровненного векторного доступа сделан синхронным для устранения ряда багов.
- Включён ARCH_HAS_ACPI_TABLE_UPGRADE для RISC-V (по аналогии с ARM64 и x86).
- Смещения секций vDSO извлекаются на этапе сборки, а не во время выполнения.
- Для управления инструкциями расширений Zacas и Zabha используются директивы ассемблера вместо флагов -march.
- Добавлен kselftest для поддержки kprobes на инструкции c.jal.
- При доступности сервисов UEFI runtime они используются для перезапуска и выключения.
- Резервирование непрерывной DMA-памяти перенесено на более поздний этап загрузки.
- Запрещены probe на обработчиках точек останова во избежание бесконечной рекурсии в do_trap_break().
- Прочие мелкие исправления: упрощение makefile vDSO, пометка default_power_off() как __noreturn, правки путей ошибок в драйвере PMU SBI и единообразие написания расширений.
- Alibaba T-Head (TH1520) — исправления драйвера DRM th1520-dw-hdmi, стиль PWM и правки device tree для платы LicheePi 4a.
- Canaan/Kendryte — добавлен 64-битный ИИ-SoC K230 (развитие K210) и начальная поддержка CanMV-K230 и K230-EVB.
- Microchip — датчик температуры/напряжения PolarFire SoC (hwmon).
- Sophgo — SG2000 добавлен и для RISC-V наряду с вариантами серии cv18xx; начальная поддержка плат Milk-V Duo S (SG2000) и Duo 256M (SG2002).
- Spacemit
- Тепловой контроль — devm-действие для очистки регистров прерываний и сэмплирования на K1.
- PHY — драйвер USB3/PCIe comb PHY.
- Контроллер PCIe — добавлен MODULE_DEVICE_TABLE() для автозагрузки модуля.
- Драйвер тактирования — такт для контроллера UFS и такт I2S с исправлениями.
- Изменения device tree для SoC K3 и K1 и соответствующих плат (SD-карта, QSPI, SPI, USB, I2S, cpufreq и др.).
- StarFive — исправления утечек ресурсов и обработки runtime PM в контроллере PCIe, поддержка контроллера SPI-флеш JHB100 SFC и bindings для JHB100 PLIC.
Изменения MIPS
Как обычно, обновлений MIPS немного:
- Код GPIO переведён на swnodes.
- Переработан код GPIO для TXX9.
- Включён multi-VPE для econet.
- Чистки и исправления.
Полный список изменений включает описание двухъядерного процессора 34Kc для econet, поддержку multi-vpe в EN751221, исправление пропуска системных вызовов через PTRACE_SYSCALL, перевод кнопок BCM47XX на software nodes, регистрацию software node для GPIO-контроллеров ssb и bcma, а также серию правок кода TXX9 (переход на динамическое выделение базы GPIO, таблицы поиска GPIO для светодиодов, удаление устаревших функций).
Всего релиз содержит 18 765 не-merge коммитов, из которых 1 920 помечены тегом «Assisted-by» — то есть около 10% изменений в ядре были сделаны при участии ИИ-агентов (или как минимум их авторы добровольно об этом сообщили). Требование проставлять тег «Assisted-by» будет отменено в следующих выпусках.
Подробный список изменений Linux 7.3 можно получить командой git log v7.2..v7.3-rc7 --stat либо прочитать на ресурсе Kernelnewbies.
















