Релиз 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:

  • Allwinner
    • 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 RockPi 4
  • 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 с комментариями только здесь. Он был создан с помощью git log v5.0..v5.1-rc7 --stat . Чтобы было легче читать более обширный список изменений, зайдите в KernelNewbies.

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

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

Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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