Релиз Linux 5.1: основные изменения, архитектура Arm, MIPS и RISC-V
Линус Торвальдс объявил о выпуске Linux 5.1:
Я немного припозднился, обычно я делаю это раньше. Отчасти потому, что сегодня я получил несколько небольших предложений по изменению кода, но и потому, что я не ожидал синхронизации предстоящего окна слияния 5.2.
Но, предложения по изменению кода, пришедшие в последние минуты, на самом деле были не большими, чтобы оправдать задержку, и, надеюсь, синхронизация окна слияния также не будет мучительной. Так случилось, что выпускной в колледже моего старшего случился прямо в середине предстоящего окна слияния, так что я был, фактически, в автономном режиме в течение нескольких дней. В худшем случае я расширю его, чтобы все получилось, но не думаю, что это понадобится.
Для версии 5.1. прошедшая неделя прошла довольно спокойно, и финальный патч от rc6 не такой уж и большой. Shortlog добавлен, но это небольшие изменения во всем. Сеть, код файловой системы, драйверы, инструменты, обновления arch. Ничего особенно странного не выделяется.
В целом, 5.1 выглядит вполне нормально с более чем 13k фиксациями (плюс еще 1k +, если вы считаете слияния). Что, в наши дни, почти наш нормальный размер. Невозможно свести это к нормальному короткому журналу, со всей работой.
Проверим, Линус :)
Релиз Linux 5.0 принес нам шифрование файловой системы Adiantum для fscrypt, поддержку AMDGPU FreeSync, поддержку файла подкачки Btrfs, планирование энергопотребления для Arm big.LITTLE и многие другие изменения.Это был также первый выпуск, где мы начали освещать журнал изменений RISC-V.
Некоторые заслуживающие внимания изменения в Linux 5.1 включают в себя:
- Более высокая производительность асинхронного ввода-вывода — io_uring — это новый асинхронный интерфейс, добавляющий быстрый масштабируемый асинхронный ввод-вывод в Linux, как буферизованный, так и небуферизованный. Более подробную информацию можно найти в этом 16-страничном PDF-файле.
- «Готовимся» к 2038 году — Linux 5.1 включает системные вызовы для 32-битной архитектуры с 64-битной структурой time_t. Это означает, что теперь у нас есть системные вызовы с 64-битным time_t на всех архитектурах.
- Возможность настройки уровней сжатия Zstd (Zstandard) в BTRFS — Linux 4.14 добавил поддержку zstd в BTRFS, но вы не смогли настроить уровень сжатия. Теперь это можно сделать с помощью опции монтирования:
-o compress=zstd:level
- TEO, регулятор событий, ориентированный на события таймера — подсистема cpuidle решает, когда перевести ЦП в состояние глубокого покоя, для экономии энергии. Если в данной системе нет tickless, она будет использовать регулятор «меню» по умолчанию, а если есть tickless, регулятором CPUIdle по умолчанию для нее будет «ladder». TEO является альтернативой «меню», которое предлагает улучшенную производительность без дополнительных затрат на энергопотребление. Выбранный регулятор холостого хода можно проверить в
/sys/devices/system/cpu/cpuidle/current_governor_ro
, и вы можете изменить его во время загрузки сcpuidle.governor=teo
параметра загрузкиcpuidle.governor=teo
.
Некоторые изменения в Linux 5.1, связанные с архитектурой Arm:
- A10 - драйвер декодирования/кодирования видео Cedrus, PMU
- A13 — LCD включен на планшетах A13 Q8
- A20 — Улучшения аудиокодека
- А23 — Дисплей pipeline; LCD включен на планшетах Q8 A23
- A64 — ARM Architectural Timer, исправление ошибок, PMU, CSI
- A80 — поддержка GMAC
- CSI в целом — поддержка RGR565; поддержка JPEG
- Поддержка технологии Broadcom (модули AMPAK) Bluetooth на Banana Pi M2 + и Banana Pi M2 Ultra
- Rockchip:
- RK3328 - добавлен основной драйвер аудио кодека
- Драйвер HDMI — обходной путь переполнения для Rockchip
- Clock drv — расчет скорости Fix RK3328 PLL
- Новое оборудование — FriendlyELEC NanoPC-T4 и NanoPi M4 , Radxa RockPi4
- Amlogic:
- Драйвер контроллера тактовой частоты
- Добавлен всегда включенный контроллер тактовой частоты для Amlogic G12A
- Добавлено 32k выборок тактовой частоты для Amlogic AXG
- Добавлены Mali GPU clocks на Amlogic Meson8
- Добавлен драйвер контроллера тактовой частоты для Amlogic G12A EE
- Различные исправления для VPU clocks
- Добавлен драйвер Meson RTC
- Добавлена поддержка Amlogic (raw) NAND flash контроллера
- Обновления Kconfig для v5.1 — arm64: meson: включен g12a контроллер тактовой частоты; удалены ненужные COMMON_CLK_AMLOGIC
- Обновления дерева устройств:
- Больше возможностей для платы Endless EC100
- Поддержка датчика температуры чипа
- Исправлены выводы Ethernet
- Добавлен Mali-450 GPU
- Обновления дерева устройств ARM64:
- S400: исправлены проблемы с максимальной скоростью SD/eMMC; аудио: добавлена поддержка SP/DIF
- GX: поддержка SimpleFB
- Новое оборудование — ТВ-приставка X96 Max (S905X2 / G12a), плата разработки Elgin RV1108 R1 на базе Rockchip RV1108
- Samsung:
- Звуковые драйверы — «большое обновление и очистка драйверов Samsung»
- Исправления для обработки тайм-аута при загрузке вторичного ЦП Exynos и для уведомителя S3C24xx DVS
- Изменения defconfig для Linux 5.1 — включено больше драйверов в s5pv210 defconfig для мобильных устройств семейства Aries (например, Samsung Galaxy S)
- DTS ARM изменения:
- Расширена поддержка мобильных устройств семейства Aries (например, Samsung Galaxy S) на базе S5Pv210 SoC: DRM Rotator, FIMD, PWM vibrator, выключение, сенсорный экран, Broadcom BCM4329 Bluetooth и cpufreq. Удалены жестко запрограммированные bootargs на семействе Galaxy S (надлежащая поддержка в U-Boot).
- Исправлены мелкие DTC предупреждения.
- Исправлены конфликтующие настройки Exynos4412 Odroid X2 / U3 и настройки регулятора eMMC GPIO.
- Зафиксирован вывод eMMC RTSN, ломающий правильную перезагрузку на X2.
- Включен ADC на плате Odroid HC1.
- Исправлена ошибка реестра clkout на Exynos3250.
- Разрешено использование earlycon на плате Arndale.
- Отключен ARM PMU на Odroid XU3 Lite, поскольку он заблокирован доверенным программным обеспечением.
- Добавлена поддержка вторичного DAI для плат Odroid XU3 и XU4.
- Qualcomm:
- Драйвер синхронизации — добавлен управляемый RPM Qualcomm MSM8998, поддержка IPA clk на контроллерах Qualcomm RPMh clk, обновления для Qualcomm MSM8998 GCC clks
- Звуковой драйвер — добавлен аудиокодек Qualcomm WCD9335
- Драйвер Power domain для телефонных чипов Qualcomm Snapdragon
- Обновления ARM64 :
- Добавлен MSM8998 RPMCC, I2C и USB-связанные узлы
- Добавлен узел MSM8996 rpmpd
- Отключен MSM8996 VFE smmu, чтобы исправить нарушение безопасности
- Добавлены узлы W2 I2C, SPI, rpmcc, uart и WCN3990 на QCS404
- Включена поддержка SDCC1 HS400 на QCS404
- Добавлено множество узлов в SDM845 — SD, UFS, USB, LPASS, SCM, QSPI, PDC, DPU, videocc, GPU, соединены между собой шины RPMh, WLAN WCN3990
- Добавлены диапазоны gpio в SDM845 TLMM
- Добавлены термальные точки отключения к процессору
- Добавлена информация SDM845 IOMMU для SDHC, USB и WLAN
- Исправлен аргумент ячейки часов MSM8916.
- Изменения дерева устройств для Linux 5.1:
- Исправлены флаги GIC IRQ и состояние GSBI на MSM8660
- Добавлен USB OTG, диапазоны gpio и поддержка Wi-Fi на MSM8974 Hammerhead
- Удален skeleton.dtsi на IPQ4019
- Mediatek:
- Аудио драйвер — добавлены драйверы MediaTek BTCVSD, MT8183 и MT6358
- dt-binding документация uart для SoC Mediatek MT8183 платформы
- DRM — добавлено устройство кадрового буфера Mediatek
- Clock — 3-е исправление ECO для SoC Mediatek MT2712
- Поддержка новой платформы беспроводного маршрутизатора MT7629 после MT7623
- Обновление GNSS — новый драйвер для приемников на базе Mediatek
- Другие новые аппаратные платформы Arm и SoC:
- Bitmain — Bitmain BM1880 SoC с 2-мя процессорами Cortex-A53, ядром RISC-V и процессором Tensor
- Broadcom — Raspberry Pi Model 3 A + поддерживается как в 32-разрядной версии и 64-битный режим; WiFi-маршрутизатор Phicomm K3 (BCM47094)
- Intel — Chameleon96 96Boards с Cyclone V SoC с FPGA + два Arm Cortex-A9
- NVIDIA — NVIDIA Shield TV (Darcy) на базе Tegra210
- NXP:
- SoC — NXP i.MX8QuadXPlus 64-битный Cortex-A35
- SoM — Logic PD i.MX6QD SoM и оценочная плата, Y Soft IOTA Семейство плат Draco/Hydra/Ursa на базе i.MX6DL, Phytec phyCORE i.MX6 UltraLite SoM и оценочный модуль
- SBC — разработка MYIR Tech MYD-LPC4357 на базе микроконтроллера Arm Cortex-M4/M0 Arm NXP LPC4357, Oxalis Evalkit V100 на базе NXP Layerscape LS1012A в форм-факторе 96Boards
- Renesas — RZ/A2M (R7S9210) 32-битный Cortex-A9 в режиме реального времени процессор RZ/G2E (r8a774c0) 64-битный Cortex-A53 SoC “для насыщенной графики Приложения»
- Texas Instruments — Bosch Guardian (AM335x), Winterland IceBoard для телескопов (AM3874)
Краткое описание журнала изменений MIPS для Linux 5.1:
- Поддержка регистра MIPSr6 MemoryMapID и инструкции Global INValidate TLB
- (GINVT), позволяющих более эффективно поддерживатьTLB при работе на процессоре, таком как I6500.
- Включена огромная поддержка страницы для MIPS64r6.
- Оптимизирована синхронизация кеша после DMA, полностью удален этот код для конфигураций ядра, в которых мы знаем, что в этом нет необходимости.
- Количество страниц, выделенных для стеков прерываний, теперь рассчитывается правильно, тогда как раньше мы тратили слишком много памяти в некоторых конфигурациях.
- Платформа ath79 мигрирует в дерево устройств.
- Платформа bcm47xx видит исправления для платы Buffalo WHR-G54S.
- Платформа ingenic / jz4740 получает поддержку добавленных деревьев устройств.
- Платформы cavium_octeon, lantiq, loongson32 и sgi-ip27 все видят чистки, как и различные части кода основной архитектуры.
Обновления RISC-V для Linux 5.1:
- Несколько чисток нашего ядра, большинство из которых были замечены впервые.
- Предоставлен HWCAP, который содержит расширения ISA, поддерживаемые всеми включенными процессорами, как предполагается, просто глядя на первый включенный процессор.
- Больше не надо ожидать загрузки всех частей.
- Реализация карты исправлений, которая связана с некоторыми чистками в нашем коде MM.
Вы можете прочитать полный список изменений Linux 5.1 с комментариями только здесь.
Источник: cnx-software.com