Выпуск Linux 6.14 – Основные изменения, архитектуры Arm, RISC-V и MIPS

Линус Торвальдс только что объявил о выпуске Linux 6.14 на LKML:

Раннее утро понедельника (ну, раннее для меня, я не жаворонок), и хотелось бы найти хорошее оправдание, почему релиз 6.14 не состоялся вчера по обычному воскресному расписанию.

Хотелось бы сказать, что возникли какие-то важные последние минуты, которые задержали выпуск.

Но нет. Это чистая некомпетентность.

Потому что вчера абсолютно ничего не произошло в последний момент, и я просто разбирал несвязанные вещи, чтобы подготовиться к окну слияния. И в процессе полностью забыл сделать релиз. Ой.

Да, небольшая задержка без уважительной причины, и, очевидно, это означает, что окно слияния открыто. Нет покоя нечестивым (или некомпетентным).

Ниже приведен краткий список изменений за последнюю неделю. Он небольшой – не только вчера не было последних минутных проблем, вся неделя была довольно спокойной. Патч в основном состоит из обновлений для AMD GPU, и даже они довольно малы. Остальное – случайные мелкие изменения повсюду.

Судя по ожидающим запросам на включение, 6.15 будет гораздо насыщеннее.

Линус

Выпущенный около двух месяцев назад, Linux 6.13 добавил ленивую вытесняющую многозадачность (lazy preemption), поддержку атомарных записей, различные улучшения в файловых системах BTRFS, F2FS и EXT4, удаление ReiserFS, оптимизации системы сборки, такие как AutoFDO (автоматическая оптимизация с обратной связью) и Propeller, и многое другое.

Linux 6.14 release

Значимые изменения в Linux 6.14

Некоторые заметные улучшения в Linux 6.14 включают:

  • Улучшенная производительность Wine с драйвером примитивов синхронизации NT (NTSYNC) – Операционные системы Windows NT предлагают некоторые примитивы синхронизации, отличающиеся от Unix-систем. Это создает проблемы с производительностью при эмуляции такого поведения для ПО вроде Wine. Этот релиз добавляет драйвер, позволяющий моделировать примитивы NT и тратить меньше времени на их эмуляцию, что может значительно повысить производительность в некоторых программах, особенно играх. Подробнее на LWN .
  • Поддержка FUSE для обмена через io_uring – Linux 6.14 добавляет поддержку FUSE для обмена между ядром и пользовательским пространством через io_uring, что повышает производительность FUSE за счет сокращения переключений контекста и других методов. Подробности в документации .
  • Драйвер amdxdna для NPU AMD – NPU в x86 SoC довольно новы, и поддержка в Linux (и даже Windows) пока была нестабильной. Последний релиз Linux добавил драйвер amdxdna для NPU (нейропроцессоров) AMD на архитектуре XDNA для ускорения CNN, LLM и других задач ИИ.
  • Небуферизированный ввод-вывод – Добавлена поддержка опциональной отправки буферизированного ввода-вывода, страницы которого будут удалены из кэша страниц после чтения/записи. Быстрые устройства хранения могут заполнять RAM избыточным кэшем страниц, который не понадобится, и эта функция позволяет читать/записывать данные и удалять их из кэша без недостатков и сложностей работы с прямым вводом-выводом. Подробности в статье LWN .
  • Небольшое изменение для активации клавиши Microsoft CoPilot на некоторых новых ноутбуках Lenovo, HP и Dell.

Обновления для Arm в Linux 6.14

Как обычно, было много изменений для архитектуры Arm:

  • Allwinner
    • Allwinner F1C100s – Добавлена поддержка DMA, драйвер ASoC
    • ASoC – Добавлена поддержка 24 бит для S/PDIF. Протестировано на SoC H3, A64, H6 и H313 до 192 кГц.
    • Изменения в DTS
      • Активирован аудиокодек на Lichee Pi Nano
      • Добавлены узлы syscon и SRAM для A100
      • Активировано управление частотой CPU (DVFS) для Tanix TX1
      • Явная настройка родительской тактовой частоты TCON0 в зависимости от используемого вывода дисплея
    • Новые устройства – Нет
  • Rockchip
    • Драйвер PHY
      • Добавлена поддержка комбинированного PHY Rockchip RK3576
      • Обновление mutex и regmap для PCIe PHY Rockchip
    • Драйвер контроллера PCIe
      • Упрощение управления тактированием и сбросом с использованием bulk-интерфейсов
      • Передача типизированного указателя rockchip_pcie (не void) в rockchip_pcie_disable_clocks()
      • Возврат -ENOMEM вместо успеха при неудаче pci_epc_mem_alloc_addr()
    • Драйвер контроллера PCIe Rockchip DesignWare
      • Использование прерывания dll_link_up для обнаружения Link Up и перечисления устройств, чтобы пользователям не приходилось делать rescan вручную
      • Указание ядру DWC не ждать поднятия линка, так как прерывание ‘sys’ требуется и обнаруживает события Link Up
    • Pinctrl – Новый поддрайвер для SoC Rockchip RK3562
    • IOMMU – Добавлены DT-биндинги для Rockchip RK3576
    • SPI – Поддержка ACPI и улучшенное управление питанием для контроллеров SFC Rockchip
    • Новые устройства
  • Amlogic
    • Изменения драйверов – Документирование регистров System Control в ранних SoC Meson
    • DT-биндинги – Конвертация биндингов контроллеров SDIO/MMC Amlogic Meson6, Meson8 и Meson8b в dt-schema.
    • Изменения ARM64 DT для Linux 6.14 – Удаление совместимости с Wi-Fi Broadcom из референсных плат GX
    • Новые устройства – Нет
  • Samsung
    • Добавлен драйвер Exynos 9810
    • Pinctrl – Два исправления для старых проблем с обработкой ошибок и одна чистка кода.
    • Тактирование – Драйвер тактирования для SoC Samsung Exynos 990
    • Драйверы SoC
      • Добавлены новые биндинги для sysreg в Exynos 8895.
      • Незначительные улучшения в биндингах Exynos USI.
      • Исправление предупреждения Smatch в драйвере syscon Exynos PMU.
    • Изменения DTS ARM64 для Samsung
      • Exynos 8895 – Добавлены узлы UART, PMU (производительность) для кластера M2 и контроллеры I2C в блоке камеры (HSI2C в CAM0-3).
      • Exynos 990 – Добавлен блок управления питанием (Samsung block), PMU (производительность) для кластера M5 и два контроллера тактовых сигналов.
      • Exynos Auto v920 – Добавлены контроллеры watchdog и DMA.
      • Google GS101 – Незначительные исправления для phy и USB. Добавлен USB Type-C.
      • Плата Exynos850-e850-96: Устранен разрыв в размещении памяти.
    • Изменения в DTS ARM – Несколько исправлений и улучшений для звука в Galaxy Tab3 (Exynos 4212).
    • Изменения в Defconfig – Нет данных.
    • Новые устройства (все смартфоны)
      • Exynos 9810 – Samsung Galaxy S9 (SM-G960F).
      • Exynos 990
        • Samsung Galaxy S20 FE (SM-G780F).
        • Samsung Galaxy S20 5G (SM-G980F).
  • Qualcomm
    • Новые SoC
      • Qualcomm Snapdragon 8 Elite (SM8750) для премиальных смартфонов.
      • Qualcomm Snapdragon AR2 (SAR2130P) для очков дополненной реальности.
      • Qualcomm IQ6 (QCS610) и IQ8 (QCS8300) промышленные IoT-платформы «DragonWing».
      • Snapdragon 425 (MSM8917) SoC для мобильных телефонов (выпущен в 2016 году).
      • Чип Qualcomm IPQ5424 с поддержкой Wi-Fi 7 (некоторые драйверы для него уже добавлены в Linux 6.3).
    • Тактовые сигналы
      • Контроллеры clk Qualcomm: IPQ CMN PLL, SM6115 LPASS, SM750 global, tcsr, rpmh и display. X Plus GPU и global. QCS615 rpmh, а также MSM8937 и MSM8940 RPM.
      • PLL Qualcomm Pongo и Taycan Alpha.
      • Тактовые сигналы Qualcomm IPQ5424, связанные с NoC и interconnect.
    • PHY – Добавлены Qualcomm SAR2130P qmp usb, SAR2130P qmp pcie, QCS615 qusb2 и PCIe, IPQ5424 qmp pcie, IPQ5424 QUSB2 и USB3 PH.
    • DMA – Добавлена поддержка контроллера GPI DMA для Qualcomm QCS615, QCS8300, SM8750, SA8775P.
    • Драйвер контроллера PCIe
      • Добавлено необязательное прерывание ‘global’ для событий связи в DT SM8550 и SM8650.
      • Добавлены строки ‘compatible’ для контроллера PCIe IPQ5424 в DT.
      • Если поддерживается прерывание ‘global’ для обнаружения событий Link Up, сообщить ядру DWC, чтобы не ожидать поднятия связи.
    • Pinctrl
      • Новый поддрайвер для TLMM Qualcomm MSM8917 SoC.
      • Исправлены некоторые отсутствующие выводы в TLMM Qualcomm IPQ5424.
    • IOMMU – SMMUv2:
      • Реализована конфигурация префетчера для каждого клиента в SoC Qualcomm.
      • Поддержка Adreno SMMU в SoC SDM670 от Qualcomm.
    • WiFi
      • ath10k – Поддержка IP-ядра QCA6698AQ
      • ath12k – Включение MLO для QCN9274
    • Обновления драйверов
      • Драйверы SCM – Исправлены и улучшены проблемы, связанные с состоянием гонки во время инициализации. QSEECOM и служба переменных EFI включены для некоторых плат 8cx Gen 3 и X Elite.
      • Драйвер LLCC – Добавлена конфигурация для IPQ5424 и WRCACHE на X Elite.
      • Макрос BCM_TCS_CMD() исправлен и оптимизирован.
      • Добавлена поддержка SM7225 и X 1 Plus в pd-mapper.
      • Использованы защиты для упрощения pmic_glink и связанного драйвера altmode.
      • Добавлена информация о SoC (socinfo) для QCS9075 и исправлено чтение серийного номера на устройствах MSM8916.
    • Обновления DTS для ARM32.
      • Описаны пути взаимодействия (interconnect) для контроллеров PCIe EP на SDX55 и SDX65.
      • Отключены режимы USB U1/U2 для повышения стабильности USB.
    • Обновления DTS для Arm64 в Linux 6.14.
      • IPQ9574 — добавлены описания PCIe и TRNG, а также несколько других небольших улучшений.
      • IPQ5332 — включен TRNG.
      • MSM8994 — добавлена поддержка кнопок питания и громкости для Huawei Nexus 6P. Исправлены прерывания USB.
      • QCM6490 – В FairPhone 5 добавлена поддержка EEPROM камеры, а Rb3 Gen2 development kit получил описание встроенных светодиодов.
      • QRB4210 RB2 – Добавлена поддержка воспроизведения звука через HDMI.
      • SA8775P – Добавлены отсутствующие контроллеры тактовых сигналов, CPU привязаны к доменам питания PSCI, реализована и активирована поддержка DisplayPort на плате Ride.
      • SDM670 – Описаны и активированы компоненты GPU для Google Pixel 3a, а также контроллер тактовых сигналов камеры и светодиод вспышки.
      • SM8250 – Для Xiaomi Mi Pad 5 Pro включена поддержка WiFi и Bluetooth.
      • SM8550 и SM8650 – Описаны «глобальные» IRQ для контроллеров PCIe RC для обработки событий горячего подключения.
      • Snapdragon X Elite – Добавлены домены питания QUP и OPP, еще один контроллер PCIe, дополнительный UART и контроллеры SDHCI. Для ASUS Vivobook S 15 активированы GPU и датчик раскрытия крышки. Microsoft Surface Laptop 7 получил конфигурацию аудио, поддержку кард-ридера SD и USB-ретрансляторы. Для Lenovo Yoga Slim 7x описан датчик раскрытия крышки. Dell XPS 13 получил описание ретрансляторов. Lenovo Thinkpad T14s получил активацию дополнительных USB-портов, а также звука и сканера отпечатков пальцев.
      • Добавлена поддержка Coresight для SM8450, SM8650, X 1 Elite, QCS615 и QCS8300.
      • Режимы USB U1/U2 отключены на ряде платформ для повышения стабильности работы USB.
      • Проведен пересмотр и корректировка частот тактовых сигналов в режиме сна для различных платформ, а также диапазонов адресов remoteproc mmio.
    • Обновления defconfig для Arm64 в Linux 6.14
      • Активированы основные драйверы для SM8750, QCS8300, SA8775P и QCS615.
      • Активирован драйвер IPQ CMD PLL. Удалена опция тактового сигнала дисплея 8650, так как драйвер был объединен с версией для 8550.
    • Новые устройства
      • Платы MTP и QRD для платформы Snapdragon 8 Elite
      • Плата Ride для платформы QCS615
      • Плата Ride для платформы QCS8300
      • Плата RDP466 (IPQ5424),
      • Xiaomi Redmi 5A (MSM8917)
      • Snapdragon AR2 Gen1 Smart Viewer Development Kit
      • Ноутбук HP Omnibook X и Snapdragon Devkit (Snapdragon X Elite)
      • Huawei Matebook E Go и Microsoft Windows Dev Kit 2023 (Snapdragon 8cx Gen 3)
  • MediaTek
    • Pinctrl – Новый поддрайвер для SoC MediaTek MT7988
    • Драйвер контроллера PCIe Gen3
      • Использование clk_bulk_prepare_enable() вместо отдельных clk_bulk_prepare() и clk_bulk_enable()
      • Перераспределение assert/deassert сброса, чтобы они выполнялись в *_power_up() вызовах
      • Документировано, что Airoha EN7581 требует инициализации PHY и включения питания перед deassert сброса PHY, в отличие от других контроллеров MediaTek Gen3
      • Перенос задержки после сброса для Airoha EN7581 из метода .enable() тактов en7581 в mtk_pcie_en7581_power_up()
      • Использование sleep вместо delay во время включения питания Airoha EN7581, так как это неатомарный контекст
      • Пропуск assert PERST# для Airoha EN7581 во время probe и suspend/resume для избежания аппаратного дефекта
      • Активация асинхронного probe для сокращения времени запуска системы
    • Обновления драйверов для Linux 6.14 – Исправления утечек iomap на ошибочных путях в драйвере MediaTek devapc.
    • WiFi MediaTek (mt76)
      • Поддержка single wiphy multiband (подготовка к MLO)
      • Поддержка устройства p2p
      • Добавлена поддержка USB-адаптера TP-Link TXE50UH
    • Обновления defconfig
      • Активирована сборка модулей для встроенных Ethernet-контроллеров (MediaTek STAR и MediaTek DWMAC Glue layer), используемых на различных SoC MediaTek
      • Активирована сборка модулей для звуковой карты на MT8188 и DSP на MT8186.
    • Обновления DTS для ARM32 – Н/Д
    • Обновления Devicetree для ARM64
      • Исправления и улучшения:
        • MT8516 получил несколько исправлений для GICv2, Watchdog и I2C, а также поддержку контроллера клавиатуры;
        • Плата MT8390 Genio 700 получила базовую поддержку аудио;
        • MT8365 получил алиас для встроенного Ethernet-контроллера;
        • MT8195 получил важное исправление для режима suspend: все устройства на базе этого SoC и его IoT-варианта теперь могут корректно выполнять PM Suspend to RAM;
        • MT8188 получил поддержку GPU Mali с DVFS и исправление для OVL Hardware в контроллере дисплея с использованием правильных совместимых строк;
        • Chromebook’и на MT8186 теперь могут корректно переходить в режим suspend благодаря исправлению, переносящему USB wakeups с XHCI на контроллер MTU3 (USB);
        • Chromebook’и на MT8183 получили исправление для микрофона DMIC и корректную поддержку сенсорного экрана от второго поставщика;
        • SoC MT7988 и плата BananaPi R4 получили поддержку Pinctrl, eMMC/SD, Thermal, CPU DVFS, PCI-Express и периферии, такой как PMIC RT5190A, I2C мультиплексор PCA9545 и другие;
        • Плата BananaPi R3 на MT7986 получила поддержку разъема питания SATA;
      • Очистка:
        • Удалено свойство regulator-compatible из DTS MediaTek;
        • Выровнены имена узлов thermal с привязками на MT8183 Kukui;
        • PMIC MT6397 получил правильные имена подузлов, исправляя валидацию DTS;
        • Свойство, активирующее Wake-On-Lan, изменено на всех платах и в драйвере для соответствия фактическому значению (mediatek,mac-wol теперь активирует wol на mac вместо phy);
        • Добавлены совместимые строки для клавиатуры PMIC MediaTek в привязки, теперь проходят валидацию DTS;
    • Новые устройства
      • Lenovo Chromebook Duet на базе MT8188 (Ciri)
      • ASUS Chromebook Enterprise CM30 на базе MT8186 (Starmie)
      • ASUS Chromebook CZ12 и CZ12 Flip на базе MT8186 (Chinchou)
  • Другие новые аппаратные платформы и SoC на базе Arm
    • Aspeed
      • Машина IBM SPB1 AST2600 BMC (x86 сервер Sapphire Rapids)
      • Ampere Mt Jefferson AST2600 BMC
    • Blaize – ИИ-чип Blaize BLZP1600 с использованием пользовательских ядер GSP (Graph Streaming Processor) для вычислений и двух малых ядер Cortex-A53, выполняющих операционную систему.
    • Microchip – 32-битный встраиваемый чип SAMA7D65 с одним ядром Cortex-A7
    • Renesas
      • R-Car V4H ES3.0 (R8A779G3), обновленная версия энергоэффективного автомобильного SoC V4H (R8A779G0)
      • Встраиваемые чипы RZ/G3E (R0A09G047) с ядрами Cortex-A55
  • Изменения, связанные с Raspberry Pi
    • Добавлены узлы DT конвейера дисплея на BCM2712 (Raspberry Pi 5)
    • Активирована функция TRB overfetch quirk на VIA VL805
    • Активирован драйвер I2C мультиплексора на основе pinctrl, используемый в системах на базе Raspberry Pi 4 после перехода на файлы Device Tree для представления мультиплексора I2C
    • bcm2835-unicam: Отключен режим trigger mode – это устраняет искажения (пропущенные строки или неверные сэмплы внутри строки) на сенсорах imx219/imx708 при первом запуске сенсора. Это затрагивает только драйвер Unicam в основной ветке ядра.

Изменения в RISC-V

Архитектура RISC-V получила несколько изменений в Linux 6.14:

  • Удален избыточный барьер AQRL из реализации futex cmpxchg
  • Теперь при die() и при переполнении PA выводится дополнительная информация о таблице страниц
  • Alibaba T-Head
    • Драйверы pinctrl и dwmac для TH1520 включены в defconfig
    • Поддержка векторных расширений T-Head, включая их экспозицию в пользовательском пространстве на системах, где они реализованы
    • Добавлен узел mailbox для T-Head TH1520 в дереве устройств
  • Microchip
    • PCIe – Разрешено использование dma-noncoherent. PolarFire SoC может быть сконфигурирован таким образом, что требует обработки некогерентного DMA. В RISC-V шины по умолчанию когерентны, и свойство dma-noncoherent требуется для обозначения некогерентных шин или устройств.
  • SpacemIT
    • Добавлено SpacemiT K1
    • Pinctrl – Контроллер выводов Spacemit включен по умолчанию в конфигурации SoC. SoC не загрузится без него, поэтому это практически обязательная настройка
  • StarFive – Дерево устройств: интерфейсы usb0 на платах Milk-V Mars и Pine64 Star64 переведены из периферийного в хост-режим.
  • Новая плата – Banana Pi BPI-F3

Архитектура MIPS

Для Linux 6.14 список изменений сводится к «Очистка и исправления». Полный список для справки:

  • MIPS: pci-legacy: Переопределение pci_address_to_pio
  • MIPS: Loongson64: env: Использование вспомогательной функции str_on_off() в prom_lefi_init_env()
  • MIPS: переход на общее правило для встроенных DTB
  • mips: исправление системных вызовов shmctl/semctl/msgctl для o32
  • mips/math-emu: исправление эмуляции инструкции prefx
  • MIPS: Loongson: Добавлены комментарии для interface_info
  • MIPS: Loongson64: удаление единицы измерения размера ROM в boardinfo
  • MIPS: traps: Использование str_enabled_disabled() в parity_protection_init()
  • MIPS: ftrace: Объявление ftrace_get_parent_ra_addr() как static
  • Отмена «MIPS: csrc-r4k: Выбор HAVE_UNSTABLE_SCHED_CLOCK, если SMP && 64BIT»
  • MIPS: Исправление неверного спецификатора формата
  • MIPS: Добавление пустой строки после __HEAD
  • MIPS: kernel: Переименование read/write_c0_ecc в read/writec0_errctl

Также был сгенерирован полный список изменений Linux 6.14 с сообщениями коммитов с использованием команды git log v6.13..v6.14-rc7 --stat. Подробный список изменений Linux 6.14 также доступен на Kernelnewbies .

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments