Linux 6.2 только что выпущен, и Линус Торвальдс, как обычно, сделал анонс на LKML :
Итак, мы здесь, точно по (расширенному) графику, с выпуском 6.2.
На прошлой неделе не произошло ничего неожиданного, только случайный набор небольших исправлений, разбросанных повсюду, без каких-либо выделяющихся изменений. Краткий список изменений небольшой и приведен ниже, можно пролистать его, если скучно.
Было несколько небольших вещей, которые отслеживал Торстен на стороне регрессий, но я не собирался применять какие-либо последние исправления, которые не были активно отправлены сопровождающими, поэтому они появятся в стабильных версиях. Ничто не казалось даже отдаленно стоящим задержки.
И это, очевидно, означает, что окно слияния для 6.3 откроется завтра, и у меня уже есть более 30 запросов на включение, что очень приятно. Мне нравится, как люди начали серьезно относиться к идее «готово к окну слияния».
Но в то же время, пожалуйста, протестируйте 6.2. Возможно, это не такой значительный LTS-релиз, каким оказался 6.1, но и обычные, рядовые ядра тоже заслуживают тестирования.
Линус
Предыдущий Linux 6.1 был выпущен как LTS-ядро (Long Term Support) с начальной поддержкой языка программирования Rust, KMSAN (санитайзер памяти ядра), реализацией Multi-gen LRU (MG-LRU) для улучшенного управления файлами/разделами подкачки и множеством других изменений.
Основные изменения в Linux 6.2
Некоторые значимые изменения в Linux 6.2 включают:
- Более быстрое устранение уязвимости Retbleed спекулятивного выполнения на процессорах x86-64 и ARM, а также FineIBT – Методы, используемые для устранения уязвимости Retbleed, оказывали значительное влияние на производительность. Linux 6.2 реализует более легковесное программное исправление для ядер на базе Skylake, где включение IBRS было избыточным и вызывало значительное падение производительности. Этот новый метод можно включить с помощью параметра загрузки retbleed=stuff. Новый выпуск также добавляет функцию устранения FineIBT, основанную на программной реализации kCFI, и использует аппаратную поддержку IBT там, где она есть, для аннотирования и отслеживания косвенных ветвлений с использованием хеша для их проверки. LWN предоставляет больше деталей о первом.
- Инструмент Runtime Verification (RV) – Система Runtime Verification, объединенная в Linux 6.0 , представляет собой легковесный метод, который дополняет классические методы исчерпывающей проверки (такие как проверка моделей и доказательство теорем) более практичным подходом для сложных систем. Linux 6.2 включает инструмент RV для проверки во время выполнения, который служит интерфейсом для мониторов RV в ядре и «домом» для мониторов, управляемых из пользовательского пространства.
- exFAT стал быстрее в Linux 6.2 при создании файлов и каталогов.
- Дополнительная экономия энергии благодаря улучшенной блокировке RCU – Метод блокировки RCU реализует пакетную обработку обратных вызовов RCU по таймеру (так называемые «ленивые» обратные вызовы), что экономит около 5-10% энергопотребления в устройствах Android и ChromeOS из-за запросов RCU, происходящих при слабой нагрузке или простое системы (по умолчанию отключено, можно включить в KConfig).
Изменения для Arm в Linux 6.2
Теперь рассмотрим изменения, касающиеся архитектуры Arm:
- Allwinner
- Allwinner A100 – Драйвер MIPI DSI (DHPY)
- Allwinner H616 – Драйвер USB PHY
- Allwinner A31 – Код драйвера камеры теперь разделен на мост и отдельный драйвер процессора
- Allwinner F1C100S – Добавлены LRADC (KEYADC), CIR (инфракрасный приемник), I2C, PWM
- Драйвер тактовых сигналов
- Исправлен заголовочный guard для тактовых сигналов V3S
- Добавлен тактовый сигнал модуля IR для F1C100S
- Драйвер IOMMU для Sun50i – Удален IOMMU_DOMAIN_IDENTITY, так как он не работал вечно, а также другие исправления
- Новые платы и устройства – В этот раз их нет
- Rockchip
- ASoC – Поддержка Rockchip RK3588
- IOMMU – Исправление бита разрешений таблицы страниц
- Драйвер тактовых сигналов – Поддержка блока тактовых сигналов и сброса Rockchip rk3588
- Драйвер контроллера PCIe Rockchip DesignWare – Базовая схема DT основана на общей схеме Synopsys.
- Таймеры – Добавлены привязки DT для таймера Rockchip rk3128
- Поддержка криптографии для rk3399 и rk3328
- Второй контроллер I2S для rk3568
- Свойства кэша соответствуют привязкам для rk3308 и rk3328
- Обновления поддержки устройств:
- SOQuartz: PCIe2, видеовыход, GPU, звук HDMI
- Rock 3A: регулятор eth, вход тактового сигнала eth, Wi-Fi+BT, I2S, PCIe3
- Незначительные расширения для Rock960 (питание HDMI), rk3566-roc-pc (PCIe2), Rock 4C+ (поддержка термодатчиков), Pinephone Pro (Wi-Fi+BT)
- Новые устройства и платы
- Мобильные игровые системы на базе RK3326: ODROID-GO Super , Anberic RG351M, RG353V, RG353VS
- 2x Игровые системы Anbernic на базе RK3566
- Quartz64 Model A и базовые платы для SOQuartz (RK3568) SoM
- Демонстрационная плата TV-бокса на RK3566 от Rockchip
- ODROID-M1 SBC (RK3568B2)
- SoM Theobroma PX30 с базовой платой
- Amlogic
- Amlogic Meson G12 – Поддержка DDR PMU
- Изменения в ARM64 DT для Linux 6.2:
- meson-gxl: добавлены узлы pinctrl для SPI CLK
- meson-gxbb: добавлены узлы pinctrl для SPI CLK
- Активация активного охлаждения с помощью gpio-fan на Odroid N2/N2+
- Удаление clock-frequency из rtc
- Обновление свойств кэша для amlogic
- Новое устройство – ODROID Go Ultra портативная игровая консоль (S922X)
- Samsung
- IOMMU – Исправление последовательности инициализации драйвера (Exynos)
- Изменения в DTS ARM64 для Linux 6.2 – Корректировка макросов и значений drive strength для выводов в Tesla FSD SoC
- Qualcomm
- Новые SoC:
- MSM8996 Pro (Snapdragon 821)
- SM6115 (Snapdragon 662)
- SM4250 (Snapdragon 460)
- SM6375 (Snapdragon 695)
- SDM670 (Snapdragon 670)
- MSM8976 (Snapdragon 652)
- MSM8956 (Snapdragon 650)
- SA8540P автомобильный SoC
- Драйвер контроллера PCIe Qualcomm – Добавлена базовая поддержка межсоединений для SC8280XP/SA8540P.
- Драйвер PHY
- Поддержка PCIe1 PHY Qualcomm SM8450 в режиме EP
- Поддержка PCIe PHY Qualcomm SC8280XP (включая режим x4)
- Исправление DT bindings для USB4-USB3-DP PHY Qualcomm SC8280XP
- DMA engine – Поддержка контроллера GPI для Qualcomm SDM670, SM6115 и SM6375
- Драйвер тактирования
- Глобальный контроллер тактирования для Qualcomm SM8550
- Контроллер тактирования дисплея для Qualcomm SC8280XP
- Контроллер тактирования RPMh для Qualcomm QDU1000 и QRU1000 SoC
- Регулятор – Поддержка Qualcomm PM8550
- Socinfo – Добавлена информация о MSM8956, MSM8976, SM6115, SM4250, SM8150, SA8155 и SM8550.
- Qualcomm 802.11ax WiFi (ath11k) – Поддержка настройки времени пребывания на канале во время сканирования.
- Обновления DTS для ARM64 в Linux 6.2
- Добавлено описание Vision Mezzanine для платы RB5 и Navigation Mezzanine для SDM845 RB3.
- SC8280XP: добавлена поддержка масштабирования L3 и DDR, что привело к значительному повышению производительности. PCIe и UFS помечены как DMA coherent, что устраняет проблемы с повреждением данных. Исправлены опорные тактовые сигналы для UFS phy и устройства, чтобы решить проблемы, возникающие с некоторыми загрузчиками, когда состояния загрузчика недостаточно.
- Добавлено описание RTC для платы SA8295P ADP.
- SM6115: добавлены блоки GPI, PRNG, tsens, WCN, cpufreq, I2C/SPI и дисплея.
- SM6375: описаны блоки QUP, что позволило добавить сенсорный экран и remoteproc для ADSP и CDSP.
- SM8250: описаны компоненты Coresight
- SM8450: описаны блоки звука и Soundwire, активированы на HDK. Добавлен тактовый сигнал питания CPU для соответствия DT binding и opp-framework.
- Многочисленные обновления для соответствия DeviceTree bindings на большинстве платформ, исправлены некорректные комментарии в дереве.
- Apps RSC добавлен в power-domain cluster-idle для SM8150, SM8250, SM8350 и SM8450, чтобы гарантировать сброс голосов сна и пробуждения при отключении последнего ядра.
- Патчи прошивки remoteproc приведены к согласованной структуре, используемой в linux-firmware, для Inforce 6560, Lenovo Miix 630, различных устройств Sony Xperia и Samsung Galaxy Book2 (хотя они пока недоступны в linux-firmware).
- IPQ8074: добавлены тактовые сигналы, введены термозоны и указан источник vqmmc для платы HK01.
- Alcatel OneTouch Idol 3 получил узлы LED, а Samsung Galaxy A3U – поддержку вибратора.
- Новая таблица частот CPU для MSM8996Pro, чтобы отдельно описать его от MSM8996. Таблица GPU opp-table также расширена.
- SC7180: USB помечен как источник пробуждения, добавлены required-opps для USB, чтобы гарантировать подачу напряжения на ядро. Исправлено описание датчика отпечатков пальцев в Trogdor.
- SC7280: добавлена поддержка Wake-on-WLAN, определены параметры PHY для SNPS USB PHY на SC7280.
- Скорректирована карта памяти для Google Herobrine, чтобы вернуть неиспользуемую память в SKU с WiFi. Добавлен LTE SKU для платы Evoker, а также сенсорный экран. Поддержка NVME отключена на платах Villager, так как не используется.
- Активированы NVMe, SDX55 (5G) и WiFi на Lenovo Thinkpad X13s и Compute Reference Device. Добавлены АЦП и термозоны. Lenovo Thinkpad X13s получил поддержку датчика крышки.
- Fairphone FP3 получил поддержку сенсорного экрана.
- Fairphone FP4 получил поддержку SD-карты.
- Активирован round-robin ADC на DB845c, устройствах OnePlus и Pocophone F1.
- Добавлен контроллер DisplayPort на SDM845.
- SM6350 получил поддержку SDHCI, а на Sony Xperia 10 III активированы SD-карта, сенсорный экран и GPI DMA.
- Исправлены диапазоны регистров UFS PHY для SM8150, SM8250, SM8350 и SM8450.
- Sony Xperia 1 II получил поддержку NFC, а Sony Xperia 5 III – определены регуляторы PMIC и исправлено описание USB для активации USB3.
- Добавлено описание контроллера SDHCI для SM8450, активирована поддержка microSD для HDK и QRD устройств.
- SM8450 также получил интерфейс CCI для камеры и контроллер тактирования дисплея.
- Обновления конфигурации Arm
- Активация оставшихся драйверов pinctrl TLMM Qualcomm в qcom_defconfig
- Обновления конфигурации Arm64
- Активация Global Clock Controller (GCC) и pinctrl TLMM для SM6115 и SM4250.
- Активация дополнительных драйверов pinctrl TLMM Qualcomm и криптографических драйверов Qualcomm.
- Изменение драйверов межсоединений SC7180 и SM8450 на встроенные, чтобы гарантировать регистрацию консоли до её необходимости в init.
- Новые устройства и платы
- Телефоны Sony: Xperia 10 IV, 5 IV, X и X compact
- Телефоны OnePlus: One, 3, 3T и Nord N100
- Xiaomi Poco F1 и Mi6
- Huawei Watch
- Google Pixel 3a
- Новые варианты материнских плат Chromebook Herobrine и Trogdor
- Платформа разработки Qdrive-3 на базе автомобильного SoC SA8540P
- Новые SoC:
- MediaTek
- IOMMU – Улучшена защита от некорректных данных DTS; мелкие исправления и улучшения
- Драйвер контроллера PCIe Gen3 MediaTek – Добавлена поддержка MT7986 и MT8195
- ASoC – Поддержка систем MediaTek с несколькими DMIC
- DRM
- Исправления для DPI и HDMI
- Перемещение коннектора панели в начало
- Добавлена поддержка DPI для MT8188
- Добавлена поддержка AFBC для MT8195
- Сетевой стек
- MediaTek MT7986: добавлена поддержка RX Wireless Ethernet Dispatch
- MediaTek (mtk_eth_soc) – улучшена реализация PCS, добавлена поддержка DSA untag, активирована поддержка flow offload
- Устройства MediaTek Wi-Fi 7 (802.11be)
- Wi-Fi MediaTek (mt76)
- Активирована поддержка Wireless Ethernet Dispatch (WED) offload
- Добавлена поддержка сигнала подтверждения (ack)
- Активирована поддержка coredump
- Поддержка remain_on_channel
- Регулятор – Поддержка MediaTek MT6357
- Термоконтроль – Добавлены DT bindings и совместимость для SoC MediaTek MT7981 и MT7983
- GPIO – Поддержка аппаратных особенностей (HW quirks) для MediaTek MT2701
- Тактовые сигналы – Контроллер переключения частот на MediaTek MT8186
- Новое устройство – Телефон Sony Xperia M5 на базе MediaTek Helio X10.
- Другие новые аппаратные платформы и SoC на Arm
- Apple – Добавлена начальная поддержка чипов Apple T6000 (M1 Pro), T6001 (M1 Max) и T6002 (M1 Ultra).
- Aspeed – 2 пользователя BMC Aspeed
- Broadcom – 2 Wi-Fi роутера
- Marvell – NAS Zyxel NSA310S (88F6702A)
- NXP:
- i.MX 6: Электронная книга Kobo Aura2
- i.MX 8: 2 платы разработчика
- Renesas – Добавлена поддержка RZ/G2UL (r9a07g043), реорганизована для совместного использования большей части описания DTS между Arm/RISC-V, добавлена поддержка платы RZ/Five SMARC EVK.
- STMicro – Тестовая плата STM32MP1 от DHCOR
- Uniphier – 2 платы разработчика Uniphier Pro5
- Texas Instruments – На базе K3 BeagleBone AI-64 плата
Обновления RISC-V
- Allwinner D1 – Драйвер MIPI DSI, поддержка ASoC
- Renesas – Поддержка платы RZ/Five SMARC EVK .
- StarFive – Код JH7100 реорганизован для поддержки платы VisionFive V1 .
- KVM:
- Разрешена выгрузка модуля KVM
- Разрешено задание mvendorid, marchid и mimpid из пользовательского пространства KVM
- Несколько исправлений и улучшений
- Поддержка T-Head PMU через подсистему perf
- Поддержка ftrace для rv32
- Поддержка устройств энергонезависимой памяти
- Различные исправления и улучшения
- Обновления Device Tree:
- dt-bindings:
- Новые совместимые строки для поддержки StarFive VisionFive и ядер T-Head CPU
- Исправление binding pwm для PolarFire SoC, объединённое по предложению разработчиков PWM
- Microchip:
- Несрочное исправление несоответствия адреса узла и регистра, чтобы избежать предупреждений проверок
- Добавлены LED с управлением через GPIO для Icicle
- Поддержка тактовых сигналов «CCC» в FPGA
- Исправление pwm-cells для Icicle
- Удаление неиспользуемых тактовых сигналов PCI
- StarFive – Добавление DT для VisionFive
- dt-bindings:
Отметим, что некоторые обновления RISC-V были найдены в обновлениях Arm SoC от Arnd Bergmann, возможно, из-за использования общих драйверов для RISC-V и Arm SoC некоторыми компаниями, а также из-за того, что Arnd поддерживает обновления Device Tree и для RISC-V.
Список изменений MIPS
Для архитектуры MIPS также объединены несколько обновлений:
- Ingenic – Поддержка dmaengine для Ingenic JZ4755
- Очистка DT
- Исправление раннего использования kzalloc на платформе mt7621
- Очистка и исправления
Также доступен более полный список изменений Linux 6.2 с сообщениями коммитов для дополнительных деталей. Он был сгенерирован командой git log v6.1..v6.2-rc8 --stat
. Альтернативно, список изменений можно прочитать на сайте KernelNewbies .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.