Релиз Linux 5.10 LTS – Основные изменения, архитектуры Arm, MIPS и RISC-V

Linus Torvalds только что выпустил Linux 5.10:

Итак, вот он – версия 5.10 помечена и опубликована.

Я почти всегда желаю, чтобы последняя неделя была спокойнее, чем получилось, и этот раз не исключение. Здесь присутствует значительное количество исправлений, включая несколько отменённых изменений в последний момент, но ничто не заставляет меня думать «нам нужна ещё одна неделя». Всё выглядит вполне обычно.

Основную часть составляют драйверы – как и должно быть – с разрозненными исправлениями повсюду: сетевой стек, архитектуры, файловые системы, инструменты.. Краткий список изменений приложен, и его просмотр даёт представление о характере правок. Ничего пугающего: большинство патчей очень малы, а самый крупный исправляет определения сопоставления выводов для драйвера pincontrol.

Это также означает, что окно слияния для версии 5.11 откроется завтра. Уже есть несколько ожидающих запросов на включение – вы знаете, кто вы, и спасибо.

Самое примечательное в окне слияния 5.11 станет очевидным при взгляде на календарь: реально говоря, у нас всего одна неделя перед праздниками, когда все будут отвлечены. Это означает, что я буду особенно строг к соблюдению правила «окно слияния предназначено для изменений, готовых *до* его открытия».

Я уверен, вы тоже хотите уйти на праздники, и даже удивлён, что не получил больше ранних запросов. Поэтому считаю, что принцип «всё отправленное должно быть уже готово» мы все поддержим. Но именно *из-за* сроков я не буду рассматривать новые поздние запросы, поступившие на второй неделе окна слияния: я ожидаю в тот период всё равно разбирать накопившиеся запросы, но точно не хочу их увеличивать.

Если изменение ещё не в linux-next, и вы не готовы отправить его на предстоящей неделе из-за незавершённости, следует планировать его включение не в 5.11. Последующие релизы будут, не волнуйтесь.

*Технически* это правило действовало и ранее, но обычно я не был столь непреклонен и допускал исключения, если нарушение не было вопиющим. На этот раз у меня есть чёткие основания для жёсткого соблюдения правила «лучше бы оно было готово до открытия окна слияния».

Если обработка накопленных запросов прервётся праздниками, я могу задержать rc1 для завершения работы, но надеюсь и ожидаю, что это не понадобится. Посмотрим. Но даже в этом случае это *точно* не означает, что я приму запросы, поступившие после праздников.

Фактические исправления, допустимые вне окна слияния, очевидно, не подпадают под это правило.

Linus

Предыдущий релиз Linux 5.9 принёс поддержку сжатия zstd для ядра и initramfs, начальную поддержку видеокарт AMD Radeon RX 6000 и процессоров Rocket Lake, первоначальную поддержку архитектуры Intel Emmitsburg и другие изменения.

Linux 5.10 release

Как можно догадаться из заголовка, Linux 5.10 станет LTS-ядром с долгосрочной поддержкой минимум 2 года, возможно до 6 лет. Другие ключевые изменения в Linux 5.10 включают:

  • Улучшение производительности EXT-4 с поддержкой быстрых коммитов (fast commit), ускоряющих операции с метаданными, особенно при использовании fsync. Функция должна быть включена при создании файловой системы mkfs. Подробности и тесты доступны в сообщении коммита .
  • Активирован конвейер дисплея BCM2711 (Raspberry Pi 4), так как все изменения DRM готовы. Это позволяет реализовать поддержку тройного дисплея на Raspberry Pi 4 (2x HDMI + MIPI DSI).
  • Статические вызовы (static calls) для улучшения производительности после устранения уязвимостей Spectre. Статические вызовы заменяют глобальные указатели функций. Они используют модификацию кода для прямых вызовов вместо косвенных, сохраняя гибкость указателей функций, но с лучшей производительностью. Подробнее в статье LWN «Облегчение боли от retpoline» .

Отмечу интересное сообщение коммита, связанное с Raspberry Pi, где добавлен код для обработки помех HDMI на WiFi в особых случаях:

RaspberryPi4 оснащён WiFi-чипом и выходами HDMI, поддерживающими 4K. К сожалению, разрешение 1440p при 60 Гц создаёт скорость TMDS на кабеле HDMI, попадающую прямо в середину первого канала WiFi.

Добавлено свойство в контроллер HDMI (возможно повторное использование другими аналогичными контроллерами), позволяющее ОС предпринимать необходимые меры для избежания перекрёстных помех.

Изменения для архитектуры Arm в Linux 5.10

  • ARM64 – ARM Memory Tagging Extension – Расширение тегирования памяти (часть ARMv8.5) предоставляет механизм обнаружения источников ошибок, связанных с памятью, включая нарушения границ, использование после освобождения, использование после возврата, использование вне области видимости и использование до инициализации. Подробности в этой статье LWN .
  • Allwinner
    • Allwinner A100 – Тактовые сигналы, Pinctrl, I2C, Термодатчик (THS)
    • Allwinner R40 – DMA, GPU Mali, ИК-порт, SRAM, Video_Engine | Sunxi-Cedrus
    • Allwinner V3s – Криптография, SimpleFB, SRAM
    • Новые устройства – Плата Perf1 на базе Allwinner A100
  • Rockchip
    • Драйвер тактирования – Разрешение сборки драйвера тактирования Rockchip как модуля
    • Драйвер PHY – Драйвер Rockchip dphy перемещён из staging
    • Новые платы – Плата NanoPi R2S, ТВ-приставка A95X-Z2, дополнительные варианты Rock Pi 4
  • Amlogic
    • Драйвер тактирования – Обновление инвертора тактовой частоты аудио и флага fdiv2 для Amlogic g12, настройка сборки драйверов тактирования Amlogic через Kconfig
    • Обновления PCI – Сборка драйвера контроллера PCIe Amlogic Meson как модуля по умолчанию
    • DRM – Добавлена поддержка Panfrost для SoC Amlogic (с GPU T820, G31 или G52)
    • Новая плата – Плата Libretch S905x CC V2, плата Hardkernel ODROID-N2+
  • Samsung
    • Значительная оптимизация платформ Samsung S3C24xx и S3C64xx, приближающая их к поддержке мультиплатформенности
    • Изменения Mach/SoC
      • Удаление ненужного флага L2C-310, наличие которого вызывало предупреждение.
      • Исправление сборки SAMSUNG_PM_DEBUG без MMU.
      • Незначительные улучшения и обновление списка рассылки linux-samsung-soc в Maintainers.
    • Изменения Defconfig для Linux 5.10
      • Повторное включение драйверов платформенных медиаустройств из-за новой зависимости от MEDIA_PLATFORM_SUPPORT.
      • Включение драйвера PMIC ROHM BD718x7, присутствующего на некоторых платах с SoC i.MX 8.
      • Включение драйвера NFC Samsung S3FWRN5, присутствующего на платах TM2/TM2E.
    • Изменения DTS ARM64 – Оптимизация DTS Exynos для устранения максимального количества предупреждений dtschema. Включает добавление отсутствующих совместимых имён и использование нефлагмейтующих свойств. Изменения не должны иметь видимого эффекта.
    • Изменения DTS ARM
      • Добавление поддержки звука для семейства Galaxy S3/Midas (Exynos4412).
      • Добавление поддержки звука для семейства Galaxy S/Aries (S5Pv210).
      • Настройка контроллера кэша L2C-310 через DTS на Exynos4.
      • Масштабная оптимизация DTS Exynos для устранения предупреждений dtschema.
  • Qualcomm
    • Добавление в безопасный список Spectre/Meltdown для некоторых ядер Qualcomm KRYO
    • Тактирование – Поддержка видеоклоков и клоков дисплея для qcom SM8150/SM8250
    • Драйвер контроллера PCIe Qualcomm – Сброс PCIe для обхода проблемы в Qsdk U-Boot
    • Pinctrl – Новый поддрайвер для SoC Qualcomm MSM8226
    • PHY – Поддержка DP phy для Qualcomm sc7180
    • Обновления DTS ARM64 для Linux 5.10
      • Оптимизация, рефакторинг и модернизация MSM8916: сортировка узлов, вынесение специфичных для устройств и платформ частей в соответствующие файлы, добавление и использование меток для ссылочных узлов, использование дефайнов IRQ. Переход TCSR mutex с устаревшей привязки, добавление узла resin для PM8916.
      • Добавление контроллера тактирования LPASS для SC7180. Исправление регистра LLCC, увеличение interconnect-cells, снятие флагов с прерываний MDSS. Добавление межсоединений для дисплея, eMMC и SD-карты, указание ‘sustainable_power’ для тепловых зон CPU, улучшение состояний pinconf для UART и Bluetooth. Добавление новых DT для Lazor и Trogdor.
      • Увеличение #interconnect-cells для SDM845 для поддержки тегов, добавление таблиц OPP и power-domains для Venus, межсоединений для дисплея. Исправление портов в узлах HDMI для DB845c, добавление DT для Xiaomi Poco F1.
      • Добавление провайдеров межсоединений, исправление тактовой частоты первичного USB, использование дефайнов dt-binding для клоков GPU на SM8150.
      • Добавление провайдеров межсоединений, CPUfreq, тепловая конфигурация и добавление отсутствующих UART для SM8250. Исправление именования отладочного UART, добавление always-on тактового сигнала для gcc, исправление частоты sleep clock, определение таблиц OPP для всех устройств QUP. Добавление нового DeviceTree для платы QRB5165 RB5.
      • Включение watchdog на IPQ8074, использование корректного совместимого имени для узла PMU. Включение поддержки DVFS для IPQ6018.
      • Исправление орфографии «interrupts» в узле UART MSM8992, добавление пропущенного # в #interrupt-cells PM660, добавление второго домена питания VFE для camss в MSM8996, сортировка Makefile.
  • MediaTek
    • Тактирование – Поддержка клоков для Mediatek MT8167
    • Pinctrl – Новый поддрайвер для SoC Mediatek MT8192
    • IOMMU – Поддержка IOMMU MT8167 в драйвере Mediatek IOMMU
    • Сети – Поддержка 7-портового IP Mediatek MT7531
    • Медиа – Добавлена поддержка MT8183 для Mediatek VPU
  • Другие новые аппаратные платформы и SoC для Arm
    • Actions Semi – S500: Плата Caninos Loucos Labrador SBC, RoseapplePi SBC
    • Aspeed – AST2500: Сервер Wistron Mowgli Power9 OpenPower, коммутатор Facebook Wedge400 ToR
    • Hisilicon – SoC SD5203 (ARM926EJ-S)
    • Nvidia – Tegra234 VDK, для предкремниевого Orin SoC в NVIDIA DRIVE AGX Orin
    • NXP i.MX – Телефон Librem 5, плата i.MX8MM DDR4 EVK, модуль Variscite VAR-SOM-MX8MN, плата Symphony, ридер Tolino Shine 2 HD, модуль TQMa6, устройство Y Soft IOTA Orion
    • STM32 – Плата Odyssey SOM (на базе STM32MP157CAC); плата DH DRC02
    • Toshiba – SoC Visconti и плата TPMV7708

Обновления MIPS

  • Удалена поддержка PNX833x (также известного как NXT_STB22x)
  • Добавлена поддержка SoC Ingenic в универсальные ядра MIPS
  • Добавлена поддержка новых SoC Ingenic (JZ4775, X1000E, X2000, X2000E, X1830 )
  • Перевод выбора обходных решений на использование Kconfig
  • Замена устаревших функций загрузки памяти на memblock_*
  • Активация использования COP2 в ядре для Loongson64 для реализации 16-байтовых операций загрузки/сохранения
  • Оптимизации и исправления

Изменения Linux 5.10 для архитектуры RISC-V

  • Поддержка систем на основе EFI
  • Улучшения заполнения информации о кеше (cacheinfo)
  • Ряд оптимизаций обработки ошибок страниц

Для детального ознакомления со списком изменений в Linux 5.10 проверьте все сообщения коммитов , сгенерированные командой git log v5.9..v5.10 --stat здесь . Упрощённый вариант изучения полного списка изменений доступен на сайте KernelNewbies .

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

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

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

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

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