Linus Torvalds анонсировал выпуск Linux 6.1, который стал основным ядром с долгосрочной поддержкой (LTS), в прошлое воскресенье:
Итак, мы выпускаем ядро с недельной задержкой, но на прошлой неделе разработка шла спокойно, и теперь я гораздо больше доволен состоянием 6.1, чем пару недель назад, когда процесс не замедлялся.
Конечно, это означает, что теперь у нас будет сложный период слияния изменений прямо перед праздниками, плюс у меня запланированы поездки. Хотя недельная задержка была правильным решением, она создает неудобства для временного окна слияния изменений в версии 6.2.
Тем не менее, рад сообщить, что разработчики отнеслись к этому серьезно, и у меня уже есть два десятка запросов на включение изменений, ожидающих обработки. Надеюсь, за ночь поступит еще партия, чтобы можно было максимально ускорить процесс слияния. Все хотят спокойно провести праздники.
И поскольку «все хотят спокойно провести праздники», хочу еще раз подчеркнуть, что буду строго соблюдать правила временного окна слияния. Согласно этим правилам, запросы на включение изменений должны быть готовы _до_ начала окна слияния и протестированы в linux-next. Никаких последних изменений с экспериментальным кодом, не проверенных автоматизированными тестами.
Чтобы упростить себе жизнь, я просто отклоню запросы, поступившие с опозданием или без предварительного тестирования в linux-next. В это время года всем будет проще справляться с праздничной суетой _без_ дополнительного стресса из-за запоздалой разработки. Так что если вы понимаете, что ваши изменения не были в linux-next, давайте просто договоримся не отправлять мне запросы, и все смогут спокойно встретить конец года. Договорились?
Ладно, думаю, я достаточно на этом заострил внимание. Давайте просто порадуемся этому релизу и предстоящим праздникам. Как видно из краткого списка изменений ниже, на прошлой неделе действительно было тихо — в основном последние исправления, преимущественно связанные с драйверами (особенно сетевые, но также есть правки для медиа, HID и GPU).
Linus
Предыдущий выпуск Linux 6.0 улучшил энергопотребление, добавил поддержку архитектур OpenRISC и LoongArch, включая, например, работу с шиной PCI, реализовал вторую версию протокола Btrfs «send», а также стабилизировал API пользовательского пространства для H.265/HEVC.
Среди интересных изменений в Linux 6.1:
- Начальная поддержка языка программирования Rust. Подробности см. в статье на lwn.net .
- Инструмент KMSAN для обнаружения ошибок в памяти ядра. Это динамический детектор ошибок, предназначенный для поиска неинициализированных значений, аналогичный инструменту MemorySanitizer для пользовательского пространства. Его следует использовать только для отладки, так как он значительно увеличивает объем используемой памяти и замедляет работу системы. Дополнительная информация доступна в документации и на lwn.net
- Multi-gen LRU (MG-LRU) должен улучшить процесс вытеснения программ в файл/раздел подкачки. Это альтернативная реализация LRU, оптимизирующая освобождение страниц и повышающая производительность при нехватке памяти. Освобождение страниц определяет политику кэширования ядра и возможность избыточного выделения памяти. Подробнее см. в руководстве администратора и другой статье на LWN .
Обновления Arm в Linux 6.1
- Allwinner
- A100 – DMA
- H6 – DMIC и GPU Devfreq
- Новые платы и устройства – В этот раз отсутствуют
- Rockchip
- Домены питания – Добавлены драйверы для Rockchip RK3588 и RV1126
- Управление выводами – Добавлен драйвер для Rockchip RV1126
- MFD
- Добавлена поддержка Rockchip RV1126 и RK3588 в Syscon
- Добавлена поддержка зарядного устройства Rockchip RK817 в RK808
- PHY – Rockchip rk3568 inno dsidphy, Rockchip rk356x csi-dphya
- SPI – Добавлена поддержка Rockchip RK3128 и RK3588
- Сетевые интерфейсы – Поддержка Gigabit Ethernet для Rockchip RV1126
- Новые устройства и платы
- Портативные игровые консоли Anberic RG353P и RG503 (Rockchip RK3566)
- Pine64 Pinephone Pro (Rockchip RK3399S)
- Комплект для разработки Open AI Lab EAIDK-610
- Одноплатный компьютер Radxa ROCK 4C+ (Rockchip RK3399-T)
- Amlogic
- Изменения в DT для ARM64 в Linux 6.1:
- Добавлены Bindings и DT для TV-бокса Beelink GT1 Ultimate (Amlogic S912)
- Удален некорректный параметр ‘enable-active-low’ для плат SM1 и G12A
- Добавлены Bindings и DT для JetHub D1p (Amlogic A113X) для домашней автоматизации контроллер
- Изменения в DT для ARM64 в Linux 6.1:
- Samsung
- Драйверы SoC – Преобразование привязок Samsung Exynos G-Scaler в схему Device Tree.
- Pinctrl
- Незначительное исправление порядка инициализации драйвера pinctrl – GPIO должны быть сконфигурированы до регистрации gpiolib.
- Финальные шаги по устареванию заголовков привязок с регистровыми константами.
- Драйвер тактирования
- Exynos7885: добавлены контроллеры тактирования FSYS, TREX и MFC.
- Exynos850: добавлены контроллеры тактирования IS и AUD (аудио) с привязками.
- ExynosAutov9: исправлены идентификаторы тактирования в привязках контроллеров Peric 0 и 1 из-за дублирования записей; добавлены несколько отсутствующих вентилей Peric 0/1; исправлены смещения регистров для некоторых тактовых сигналов Peric 0/1.
- Незначительные улучшения кода
- Изменения в DTS для ARM
- Исправлена полярность выводов:
- активирован GPIO чипа NFC в платах Exynos5433 TM2,
- vbus GPIO для EHCI в плате Exynos4412 Origen.
- Исправлены названия узлов конфигурации выводов — удалено избыточное слово «pins» (без функционального влияния).
- Исправлена полярность выводов:
- Изменения в DTS для ARM64 в Linux 6.1:
- Добавлены заголовки привязок для нескольких тактовых генераторов Exynos850 и ExynosAutov9.
- ExynosAutov9: добавлены узлы контроллера тактирования FSYS, документирована совместимость UART (используется в DTS).
- Exynos850: добавлены контроллеры тактирования Audio, IS, MFC. Добавлены узлы IOMMU.
- Исправлена полярность выводов:
- активирован GPIO чипа NFC в платах Exynos5433 TM2,
- vbus GPIO для EHCI в плате Exynos4412 Origen.
- Исправление названий узлов конфигурации выводов – удалено избыточное слово «pins» в названии (без функционального влияния).
- Qualcomm
- Новый драйвер для измерения пропускной способности Qualcomm LLCC/DDR
- Pinctrl
- Поддержка управления выводами LPASS (низкопотребляющая аудиоподсистема) для Qualcomm SM8450 и SC8280XP
- Масштабная очистка привязок устройств Qualcomm в дереве устройств, продолжение следует
- PHY – привязки для Qualcomm SC8280XP eDP & DP и USB3 UNI phy, Qualcomm SM6375 usb snps-femto-v2
- Драйвер контроллера PCIe
- Добавлена поддержка хост-контроллеров SC8280XP и SA8540P, а также контроллера конечной точки SM8450.
- Отключение тактового сигнала Master AXI на контроллерах конечных точек для снижения энергопотребления при простое или состоянии L1.x.
- Предоставление счетчиков переходов состояния связи через debugfs для упрощения отладки проблем с низкопотребляющими состояниями.
- Добавлена поддержка автоматической загрузки модулей.
- Драйвер тактирования
- Добавлены тактовые сигналы дисплея для Qualcomm SM6115, SM8450
- Добавлены тактовые сигналы GPU для Qualcomm SC8280XP
- Добавлены драйверы глобальных и SMD RPM тактовых генераторов для Qualcomm MSM8909 и SM6375
- Qualcomm SM6115 и QCM2260 переведены на повторное использование конфигурации PLL
- Qualcomm SDM660 SDCC1 переведен на операции floor clk
- Добавлена/исправлена поддержка APCS PLL для Qualcomm IPQ8064, IPQ8074 и IPQ6018
- Обновлены тактовые сигналы CPU Qualcomm MSM8996 с поддержкой ACD
- Добавлена поддержка тактовых генераторов GCC и RPMh для Qualcomm SDM670
- Soundwire – обновления драйвера Qualcomm для обработки статуса device0
- DMA engine – добавлен контроллер DMA Qualcomm SM6350 GPI
- Блок питания – добавлена поддержка Qualcomm PMK8350 PON
- Добавлена поддержка Qualcomm IPQ8064-v2.0, IPQ8062 и IPQ8065 – вариантов чипа IPQ8064 с минимальными отличиями в функционале.
- Обновление DTS для Arm:
- Расширена поддержка IPQ8064 двумя вариантами: IPQ8062 и IPQ8065.
- MSM8974 и APQ8084 получили поддержку статистики RPM.
- Audio DSP remoteproc добавлен для MSM8226 и активирован на ASUS ZenWatch 2 и LG G Watch R.
- MSM8660 получил одну шину I2C и одну SPI.
- Для APQ8060 Dragonboard добавлено описание сенсорного экрана TMA340.
- Внесен ряд улучшений в файлы DTS для соответствия привязкам, исправления проблем и улучшения структуры.
- Обновления DTS для Arm64 в Linux 6.1:
- Samsung Galaxy S4 Mini Value Edition получил поддержку магнитометра.
- Устройства Xiaomi на базе MSM8996 получили описание светодиодов на основе LPG.
- Для SA8295P временно решена проблема ADP, возникающая при переходе регуляторов в энергосберегающий режим, путем отключения этой функции.
- SC7180 Trogdor — наконец добавлено описание встроенного USB-хаба на SC7180, а также несколько обновлений, связанных с ADC.
- SC7280 — добавлена поддержка экземпляров CPU и LLC bwmon. Для ряда плат добавлены Soundwire, аудиокодеки и звук. Описан встроенный USB-хаб Herobrine.
- SC8280XP — контроллеры USB помечены как источники пробуждения для сохранения питания в режиме ожидания. На CRD устройства HID помечены как источники пробуждения для возобновления работы системы. На Lenovo ThinkPad X13s добавлена альтернативная сенсорная панель.
- SDM845 — добавлена поддержка RPMh stats и LLCC BWMON.
- SM6350 — добавлены провайдеры interconnect и GPI DMA.
- Для Fairphone FP4 на SM7225 добавлено описание PMIC PM7280b.
- Добавлена поддержка Multi-MSI в контроллере PCIe, что означает добавление всех прерываний MSI для SM8250.
- На SM8450 добавлены UFS ICE и второй контроллер SDHCI.
- TCSR mutex syscon заменен на привязку на основе MMIO. Узлы TCSR получили соответствующие совместимые свойства, а узлы halt syscon были вынесены за пределы диапазонов mutex.
- Добавлен ряд исправлений для соответствия DT-привязкам
- Обновления конфигурации Arm defconfig
- Активированы драйверы command-db, ocmem, rpmh и rpmhpd в multi_v7_defconfig, используемые на SDX55, SDX65 и MSM8974.
- В qcom_defconfig включены rmtfs-mem, rpmpd, socinfo и qcom-stats, так как они используются на MSM8974, MSM8226, MSM8916 и APQ8084.
- Обновления конфигурации Arm64 defconfig
- Основные провайдеры, необходимые для загрузки SC8180X
- Драйверы звука для SC7180 и SC7280
- Qualcomm EDP PHY, драйвер контроллера кеша последнего уровня, драйвер встроенной памяти и драйвер SPM.
- Новые устройства и платы
- Sony Xperia 1 IV (Qualcomm Snapdragon 8 Gen 1)
- 3 телефона Samsung на базе Snapdragon 410: Galaxy E5, E7 и Grand Max.
- Хромбук Google Evoker (SC7280), еще одна ревизия Herobrine Villager.
- MediaTek
- Драйвер тактирования
- Новые драйверы тактирования для MediaTek Helio X10 (MT6795).
- Добавлены сбросы для PCIe и USB на MediaTek MT8195.
- Изменения для поддержки GPU DVFS на MT8183, MT8192, MT8195.
- Оптимизация драйвера тактирования MT8192 за счет устранения дублирования списков родительских тактовых сигналов.
- MFD – Добавлена поддержка субPMIC MediaTek MT6370.
- Добавлена поддержка подсветки и фонарика MediaTek MT6370.
- Контроллер памяти – Добавлена поддержка контроллера памяти SMI mt8188.
- Поддержка управления выводами для Mediatek MT8188 SoC.
- Добавлен SoC Mediatek MT8186 для Chromebook/планшетов с двумя ядрами Cortex-A76 и шестью Cortex-A55.
- Новые устройства – В этот раз отсутствуют.
- Драйвер тактирования
- Другие новые аппаратные платформы и SoC на Arm
- Aspeed – Два новых сервера с BMC AST2600: AMD DaytonaX и Ampere Mt. Mitchell.
- Microchip – Две отладочные платы семейства Microchip AT91: SAMA5D3-EDS и lan966x-pcb8290.
- NXP
- NXP i.MX8DXL двухъядерный процессор Cortex-A35.
- Платы на базе NXP i.MX6/i.MX8: Kontron SL/BL OSM-S (i.MX8MM), Gateworks GW7904 (i.MX8MM), MSC SM2S-IMX8PLUS SoM и carrier board.
- Renesas – R-Car H3Ne-1.7G (R8A779MB) и R-Car V3H2 (R8A77980A) представляют собой незначительные обновления R8A77951 и R8A77980 соответственно.
- Texas Instruments – Добавлен процессор AM62A Cortex-A53, входящий в семейство K3 для обработки видео/изображений для промышленных и автомобильных применений, а также плата AM62A StarterKit (SK).
Изменения для RISC-V в Linux 6.1
Некоторые изменения для архитектуры RISC-V включают:
- Улучшения подсистемы топологии CPU, исправляющие проблемы с некорректной информацией о топологии в RISC-V.
- Значение NR_CPUS по умолчанию увеличено до XLEN, а максимально настраиваемое значение составляет 512.
- Файловые системы CD-ROM активированы в defconfig.
- Добавлена поддержка THP_SWAP для систем rv64.
- Исправлена обработка отображений только для записи.
- m{vetndor,arcd,imp}id теперь отображается в /proc/cpuinfo.
- Несколько исправлений и оптимизаций по всему дереву.
- Allwinner – Добавлена поддержка SRAM для процессора D1.
- Microchip – Обновления DT для PolarFire SOC.
- SiFive
- Исправление: добавлены отсутствующие PWM-светодиоды в дерево устройств SiFive HiFive Unleashed .
- Поддержка контроллера кеша L2 переработана для поддержки кешей L3.
- StarFive – Pinctrl – Создана поддиректория для драйверов StarFive, переименование «pinctrl-starfive» в «pinctrl-starfive-jh7100».
Изменения для MIPS
Для архитектуры MIPS в Linux 6.1 была ограниченная активность:
- В основном оптимизации.
- Исправлено включение прерываний на втором VPE для платформы Lantiq.
- Переход на использование API gpiod.
- Разрешение передачи RND seed через firmware.
Полный список изменений Linux 6.1 с сообщениями коммитов также доступен, сгенерированный командой git log v6.0..v6.1 --stat
. Подробный список изменений можно найти на сайте KernelNewbies .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.