Линус Торвальдс только что объявил о выпуске Linux 6.7, спустя чуть более двух месяцев после релиза Linux 6.6 LTS:
На прошлой неделе произошло немного больше событий по сравнению с праздничной неделей до этого, но явно недостаточно, чтобы задуматься о дальнейшей задержке выпуска.
Итог: 6.7 (по количеству коммитов: более 17 тыс. несливаемых коммитов и более 1 тыс. слияний) стал одним из самых крупных выпусков ядра за всю историю, однако дополнительная неделя rc8 была вызвана исключительно календарным совпадением с праздниками, а не трудностями с большим релизом.
Основные изменения на прошлой неделе включали несколько обновлений DRM (в основном исправления для новой аппаратной поддержки в этой версии – как для amd, так и для nouveau), дополнительные исправления bcachefs (а bcachefs, очевидно, является новинкой в 6.7 и одной из причин большого числа коммитов), а также несколько случайных обновлений драйверов. И ряд незначительных изменений в других областях.
Краткий журнал изменений прилагается – там действительно мало что есть, можно быстро пролистать, если интересны детали – и это означает, что завтра откроется окно слияния для версии 6.8. Уже получено более двух десятков ранних запросов на включение – спасибо.
Но, пожалуйста, протестируйте этот релиз, прежде чем начнется захватывающий цикл разработки следующей версии. Хорошо?
Линус
Предыдущий выпуск Linux 6.6 принес аппаратную поддержку теневого стека Intel для предотвращения эксплойтов, планировщик задач EEVDF («Earliest Eligible Virtual Deadline First») для снижения задержек и более быстрый асинхронный прямой ввод-вывод с использованием io_uring, среди множества других изменений.
Значительные изменения в Linux 6.7
- Файловая система bcachefs была включена в Linux 6.7 с почти 2800 коммитами, хотя в настоящее время помечена как «экспериментальная». Сайт файловой системы описывает bcachefs как «COW-файловую систему для Linux, которая не уничтожит ваши данные» или «передовую новую файловую систему для Linux, с акцентом на надежность, отказоустойчивость и полный набор функций, ожидаемый от современной файловой системы».
- Улучшение производительности планировщика пакетов с честной очередью для ускорения сетевого взаимодействия с коммитом, утверждающим “Эта серия приносит 5% рост пропускной способности при интенсивной нагрузке tcp_rr и 13% увеличение для (без регулировки) UDP-пакетов.”
- Множество новых функций и улучшений в инструменте perf profile для Linux 6.7, все перечислены в сообщении о слиянии .
- LoongArch архитектура получила поддержку виртуализации через KVM. Подробности см. в коммите документации .
- Удаление поддержки архитектуры Intel Itanium (ia64), хотя возможность сохранена для возвращения…
Изменения в Arm в Linux 6.7
В Linux 6.7 было много обновлений и изменений в архитектуре Arm:
- Включение или отключение 32-битной эмуляции в ядрах x86-64 с помощью ia32_emulation= параметра командной строки для повышения безопасности, когда 32-битная эмуляция не требуется. Опция конфигурации IA32_EMULATION_DEFAULT_DISABLED управляет тем, включена ли 32-битная эмуляция по умолчанию
- Allwinner
- Pinctrl – Дополнительные банки GPIO для Sunxi H616
- Дерево устройств
- Добавлены узлы V3s для PWM pinctrl, EHCI и OHCI
- Добавлена interconnect к узлу видеокодека R40
- Новые устройства и платы
- Игровая консоль Anbernic RG-Nano (Allwinner V3s)
- BigTreeTech Pi (Allwinner H616)
- BigTreeTech CB1 SOM (Allwinner H616)
- Rockchip
- Управление питанием – Добавление поддержки perf в драйвер devfreq-event Rockchip DFI (модуль мониторинга DDR)
- DRM – Добавление поддержки отображения 10-битных форматов 4:2:0 и 4:2:2, создаваемых видеодекодером Rockchip на RK322X, RK3288, RK3328 и RK3399. Также добавлена поддержка 10-битного формата 4:4:4.
- ASoC – Преобразование HDMI RK3288 в дескрипторы GPIO, преобразование драйверов ASoC Rockchip в дескрипторы GPIO
- USB – На Rockchip RK3588 одно из ядер DWC3 интегрировано нестандартно и требует включения двух дополнительных тактовых сигналов. Без этих сигналов горячее подключение USB-устройств нарушено.
- Дисплей – Документирование MIPI DSI и VOP для Rockchip RV1126, отличающихся от других вариантов SoC
- Дерево устройств Arm64
- Добавление кнопок ADC на rk3588-evb1
- Добавление NanoPC-T6 поддержки PCIe e-key
- Дерево устройств Arm32
- Переход на operating-points-v2 для CPU RK3128
- Добавление сбросов CPU для RK3128
- Добавление узлов pwm2 и pwm11 для Rockchip RV1126
- Новое устройство – Портативная игровая консоль Powkiddy RGB30 (Rockchip RK3566)
- Amlogic
- Watchdog – Добавление поддержки SoC Amlogic C3 и S4
- Pinctrl – Добавление драйвера управления выводами Amlogic T7
- Clock – Добавление поддержки основного контроллера тактовых сигналов Amlogic s4
- Драйверы
- Исправление обработки возвращаемых значений в API meson_sm_*
- Использование device_get_match_data() в meson SM
- Изменения в дереве устройств ARM64 для Linux 6.7
- Добавление аудиоузлов дерева устройств для p200/p201/u200
- Добавление набора периферийных устройств для Amlogic-T7 (watchdog, домен питания, pinctrl)
- Добавление набора периферийных устройств для Amlogic-A1 (clk, usb, efuse, spi, uarts, emmc, ADC, rng, i2c)
- Добавление узла NAND на Amlogic AXG
- Дополнительный набор исправлений в дереве устройств для проверки привязок DT
- Добавление в defconfig различных драйверов для плат на базе Amlogic, таких как Khadas VIM3 и Hardkernel ODROID-N2 :
- KEYBOARD_GPIO_POLLED=m для поддержки кнопок на платах до G12A
KHADAS_MCU_FAN_THERMAL=m & MFD_KHADAS_MCU=m для управления вентилятором через MCU на платах Khadas VIM - MEDIA_CEC_SUPPORT=y & CEC_MESON_G12A_AO=m для включения шины CEC
- RTC_DRV_PCF8563=m для включения поддержки RTC на большинстве одноплатных компьютеров
- VIDEO_MESON_VDEC=m для включения аппаратного видеодекодера
- MESON_DDR_PMU=m для включения драйвера производительности DDR PMU на SoC G12A и SM1
- KEYBOARD_GPIO_POLLED=m для поддержки кнопок на платах до G12A
- Новые платы
- Эталонная плата Amlogic AD402 на базе SoC A113L
- Платы Libre Computer Cottonwood
- Samsung
- Управление выводами – Несколько оптимизаций, улучшений (использование аннотации __counted_by) и переход на динамическое выделение пространства номеров GPIO.
- Изменения в DTS для ARM в Linux 6.7
- Перевод всех звуковых карт на универсальное свойство audio-routing, поддерживаемое драйверами Samsung с предыдущего релиза. Устаревшее свойство samsung,audio-routing исключено.
- Корректировка термоконтроля Exynos4210 с использованием опроса. Прерывания в модуле термомониторинга не работают.
- Изменения для плат Midas (Exynos4412, например Samsung Galaxy S3)
- Исправление центральной аппаратной кнопки для эмуляции KEY_OK вместо KEY_MENU, так как отдельный сенсорный ключ уже предоставляет KEY_MENU, а метка и имя узла указывают на KEY_OK.
- Использование констант для других входных ключей.
- Изменения в DTS для ARM64 Samsung
- Exynos850: Добавлена поддержка USB 2.0 (хост и устройство) с активацией на плате E850-96, добавлена зарезервированная область памяти ramoops для платы E850-96 для отладки.
- Exynos5433: Перевод звуковой карты на универсальное свойство audio-routing. Устаревшее свойство samsung,audio-routing исключено.
- Несколько оптимизаций.
- Изменения в defconfig
- Активация драйверов для плат на Samsung Exynos ARM SoC в exynos_defconfig и multi_v7_defconfig: PHY дисплеев, AHCI DWC, сенсорная панель TM2 (используется на ARM/ARM64 платах), камерные сенсоры Samsung и световой сенсор Intersil 29018.
- Также включен IIO в s5pv210_defconfig для драйвера топливного датчика MAX17040.
- Новые устройства – отсутствуют
- Qualcomm
- IOMMU
- Обновление привязок Device-tree: Добавлен qcom,sm7150-smmu-v2 для Adreno на SoC SM7150
- SMMUv2 – Поддержка SoC Qualcomm SDM670 (MDSS) и SM7150
- Управление питанием – Добавлена поддержка версий SoC Qualcomm в драйвере cpufreq
- Remoteproc – Добавлена поддержка аудио, вычислительных и модемных DSP на Qualcomm SM6375, а также аудио DSP в SC7180. Тактирование периферийной NoC исключено для модемного DSP MSM8996, так как обрабатывается через провайдера interconnect.
- Управление выводами
- Добавлены карты выводов MPM для Qualcomm MSM8996, SM6115, SM6125 и SDM660
- Поддержка функции MLSP I2C6 в Qualcomm MSM8226
- PHY
- Новая поддержка Qualcomm sa8775p qmp-pcie, IPQ5018 и SC7280 qmp-ufs
- Обновления для Qualcomm qmp usb и combo phy с v6 layout регистров
- Обновления Qualcomm eusb2-repeater с переопределениями настройки, полями regmap
- ASoC – Добавлены драйверы ASoC для платформ Qualcomm SM6115 и SC7180
- Драйвер контроллера PCIe:
- Использование PCIE_SPEED2MBS_ENC() для упрощения кодирования скорости связи
- Добавлен .write_dbi2() для корректной работы записи регистров DBI2 (например, установки размера BAR)
- Включение ASPM для платформ с ops 1.9.0, так как ядро PCI не активирует состояния ASPM, не включенные прошивкой
- Драйвер SoC – Поддержка интерфейса микропрограмм Qualcomm Secure Execution Environment для доступа к переменным EFI, новые функции для драйверов платформ и микропрограмм.
- Тактирование
- Начальная поддержка контроллеров тактирования Qualcomm SM4450 Global Clock и SM4450 RPMh
- Добавлен контроллер тактирования камеры на Qualcomm SM8550
- WiFi Qualcomm (ath12k)
- WCN7850:
- включение 320 МГц каналов в диапазоне 6 ГГц
- поддержка аппаратного rfkill
- включение IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS для ускорения сканирования
- чтение варианта имени board data из SMBIOS
- QCN9274: поддержка mesh
- WCN7850:
- Новый SoC – Qualcomm Snapdragon 720G (SM7125), близкий родственник Snapdragon 7c
- Обновления DTS для ARM32
- Добавлена статистика RPM master для MSM8226 и MSM8974
- Переход PHY PCIe SDX55 на новую привязку
- Инверсия датчика Холла на Samsung Galaxy Tab 4.
- Исправления, выявленные при валидации DeviceTree.
- Обновления DTS для Arm64 в Linux 6.7
- После рефакторинга привязок QMP PHY, SC7180, SC7280, SDM845, SM8150 и SM8250 переведены на новую привязку USB/DP combo PHY. IPQ6018, IPQ8074, MSM8998, SC7280, SC8180X, SDM845, SM8150, SM8250 и SM8450 переведены на новую привязку PCIe PHY, а SC8180X – на новую привязку UFS phy.
- Ситуация с питанием UFS прояснена, и ряд плат для MSM8996, MSM8998, SM4250, SM6115, SM6125, SM8350, SM8450 и SM8550 получил соответствующие исправления.
- IPQ5018 – Добавлена поддержка Watchdog, а в драйвере SCM активирован SDI (отладочный образ) для возможности его отключения.
- IPQ5332 – Активирован USB.
- Идентификатор hwspinlock исправлен для IPQ5332, IPQ6018, IPQ8074 и IPQ9574.
- Диапазоны зарезервированной памяти для remoteproc на платах MSM8916 реорганизованы для сокращения дублируемых шаблонных определений. Ряд узлов переведён в состояние отключённых по умолчанию для упрощения добавления новых плат.
- Samsung Galaxy Tab A 8.0 и Samsung Galaxy Tab A 9.7 получили поддержку дисплея, а последний – емкостные клавиши. Samsung Galaxy J5 получил поддержку акселерометра.
- Для Dragonboard 410c добавлено отсутствующее определение регулятора ADC7533 и оверлей, принудительно переключающий плату в режим хоста для автоматизации.
- MSM8976 – Исправлены исходящие биты IPC для модема и wcss, а также обновлены области зарезервированной памяти.
- MSM8992 и MSM8994 – Исправлены некорректные области зарезервированной памяти
- На плате QRB2210 RB1 отладочный UART перемещён согласно обновлению аппаратной части. Исправлены диапазоны напряжений регуляторов, активированы remoteproc, включена USB SuperSpeed PHY и добавлены светодиоды GPIO для Bluetooth, WiFi и пользовательский светодиод.
- Платформа SA8775P Ride – Описаны прерывания для PHY SGMII и добавлен встроенный криптографический движок для UFS.
- SC7180 – Добавлен удалённый процессор аудио DSP. Введены дополнительные SKU плат Lazor. Часть аудиокодека RT5682 реорганизована для упрощения поддержки. На устройствах Trogdor сенсорный экран и дисплейные панели связаны для улучшения поведения при циклах питания.
- SC7280 – Состояния cpuidle переписаны для поддержки режима PCSI, инициируемого ОС. Добавлены прерывания LMH для получения обратной связи при троттлинге. Описание встроенного USB-отладчика (EUD) и фиктивный узел usb-c-connector удалены как некорректные. Корректно описан вход тактовой частоты USB3 канала глобального контроллера тактовых частот.
- Добавлен удалённый процессор модема на SDM630, а на SDM670 исправлено отображение PDC.
- SDM845 – Добавлена поддержка MTP PCIe. Определены кнопки уменьшения громкости и сброса. Исправлены имена прошивок remoteproc и конфигурация WiFI. На Sony Xperia XZ2, XZ2 Compact и XZ3 указаны имена линий GPIO для TLMM и PMIC. Также добавлены регуляторы камеры.
- SM6125 – На Sony Xperia 10 II добавлены и включены аппаратные блоки дисплея.
- SM8150 – Опорный тактовый сигнал подключен к PHY PCIe.
- На SM8250/QRB5165 и плате RB5 добавлены контроллер DisplayPort и TCPM со всеми необходимыми компонентами для реализации переключения роли/ориентации USB и работы альтернативного режима DisplayPort. Также описаны межсоединения и домены питания для QUP на данной платформе.
- Для SM8350 Hardware Development Kit (HDK) описаны ранее игнорируемые PMIC и добавлены регуляторы PMR735a. Исправлено состояние pinctrl для uart18.
- На SM8450 HDK исправлены аудиомаршруты для включения аналоговых микрофонов. Добавление PRNG отменено в пользу предстоящего внедрения истинного RNG.
- На различных платах константы заменены определениями QCOM_SCM_VMID_*.
- Плата SM8550 QRD получила поддержку Bluetooth и описание контроллера тактовой частоты камеры.
- Внесён ряд исправлений на различных платформах и платах для соответствия привязкам Devicetree.
- Обновления конфигурации Arm defconfig – отсутствуют
- IOMMU
-
- Обновления конфигурации Arm64 defconfig
- Активирован альтернативный режим DisplayPort, необходимый для работы вывода DisplayPort на устройствах, таких как платформа Qualcomm Robotics RB5. .
- Активирован драйвер редрайвера SuperSpeed NB7VPQ904M, используемый в SM8550.
- Активирован драйвер pinctrl LPASS для SM6115 и SM8350.
- Активирован драйвер USB PHY M31, используемый в IPQ5332.
- Новые устройства и платы
- Смартфоны Xiaomi Redmi Note 9 на базе Snapdragon 720G.
- Fairphone 5. на базе QCM6490.
- BQ Aquaris M5 на базе MSM8939.
- Обновления конфигурации Arm64 defconfig
- MediaTek
- Remoteproc – добавлена поддержка управления вторым ядром в двухъядерной конфигурации SCP от MediaTek
- Pinctrl – добавлены дополнительные группы UART в драйвер MediaTek MT7981
- PHY – новая поддержка MediaTek MT8188
- ASoC – добавлена поддержка множества платформ MediaTek
- Regulator
- Оптимизации и новые функции для драйвера MediaTek MT6358
- Добавлена поддержка MediaTek MT6366
- Терморегуляция
- Добавлена поддержка драйвера MediaTek LVTS MT8192 с процедурами приостановки/возобновления работы
- Исправлена инициализация THERMAL_V2 для драйвера MediaTek LVTS
- Добавлена поддержка mt7988 ( Filogic 880 ) для драйвера MediaTek LVTS
- DRM
- Добавлена поддержка функции DSI MT8188
- Исправлена проблема Coverity с непреднамеренным переполнением целочисленного типа
- Добавлена поддержка функций DP/eDP MT8188
- Исправлена утечка памяти в ->get_edid при аудиодетекции и ошибочных сценариях
- Добавлена возможность динамического выбора разъёма
- Поддержка 12-битных LUT в MediaTek DDP GAMMA
- mtk_dsi: исправление настроек/обработки NO_EOT_PACKET
- Wi-Fi MediaTek (mt76):
- Новый поддрайвер для устройств mt7925 USB/PCIe (Wi-Fi 7)
- Аппаратный мост между беспроводными и Ethernet интерфейсами в чипах MT7988
- Улучшение стабильности mt7603/mt7628
- Другие новые аппаратные платформы Arm и системы на кристалле
- AMD – Pensando Elba: блок обработки данных на базе ядер Cortex-A72
- Aspeed – контроллер управления шасси Facebook Minevra на чипе AST2600
- Intel – USRobotics USR8200: NAS/брандмауэр/маршрутизатор на устаревшей платформе Intel IXP4xx
- Microchip – плата разработки SAMA5D29 Curiosity
- NXP – модуль Variscite VAR-SOM-MX6 на базе i.MX6Q
- Renesas – автомобильная SoC R8A779F4 (R-Car S4-8) и встраиваемая SoC RZ/G3S (R9A08G045)
- STMicro – плата разработки Octavo OSD32MP1-RED на базе STM32MP157
- Изменения для Raspberry Pi:
- Исправлено отключение светодиода активности для Raspberry Pi 400
- Исправлено снижение пропускной способности HWRNG на Raspberry Pi 0/3
Обновления RISC-V
RISC-V демонстрирует стабильное развитие со следующим списком изменений
- Поддержка cbo.zero в пользовательском пространстве
- Поддержка CBO в системах на базе ACPI
- Улучшения операций кэширования T-Head
- Поддержка программных теневых стеков вызовов
- Различные оптимизации и исправления
- Allwinner
- Оптимизации DT для RISC-V
- Добавлены новое свойство ISA и узел PMU для Allwinner D1
- Microchip
- Перевод devicetree PolarFire SoC на использование свойств «riscv,isa-base» & «riscv,isa-extensions». Для совместимости сохранено «riscv,isa»
- Частота временной базы PolarFire SoC задаётся внутренним делителем, а не внешним генератором – свойство перенесено в mpfs.dtsi
- SiFive – IRQ – предотвращение многократной регистрации операций системного ядра в драйвере SiFive PLIC
- Sophgo
- Добавлена поддержка чипа CV1800B в плате milkv-duo
- Добавлена поддержка чипа SG2042 в рабочей станции разработчика milkv-pioneer на 64 ядра (текущая поддержка: только загрузка в консоль через UART)
- StarFive
- Управление питанием – добавлена поддержка AON PMU JH7110
- Узлы DT для аудио (поддержка PWM-DAC)
MIPS в Linux 6.7
Хотя MIPS постепенно замещается архитектурой Loongarch, в этом выпуске представлены незначительные изменения, включая удаление одной архитектуры. Полный список изменений:
- MIPS: удаление платформы AR7
- watchdog: удаление драйвера ar7_wdt перед удалением платформы
- vlynq: удаление драйвера шины
- mtd: удаление поддержки анализатора ar7
- serial: 8250: удаление поддержки AR7
- arch: mips: удаление ReiserFS из defconfig
- MIPS: lantiq: удаление избыточного включения <linux/of_irq.h>
- MIPS: lantiq: исправление предупреждения «no previous prototype» в pcibios_plat_dev_init()
- MIPS: KVM: исправление предупреждения о неиспользуемой переменной
- MIPS: удаление мёртвого кода в relocate_new_kernel
- mips: dts: ralink: mt7621: переименование в GnuBee GB-PC1 и GnuBee GB-PC2
- mips: dts: ralink: mt7621: определение каждого сброса как отдельного элемента
- mips: dts: ingenic: удаление избыточных свойств probe-type
- MIPS: loongson32: удаление dma.h и nand.h
Подробности доступны в полном списке изменений Linux 6.7 (сгенерировано командой git log v6.6..v6.7-rc8 --stat
). Дополнительная информация на сайте KernelNewbies .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.