Линус Торвальдс представил Linux 4.9:
Итак Linux 4.9 закончен и слияние окна осталось открытым для 4.10.
С дополнительной неделей слияние окна было бы технически завершено в версии 4.9 на рождество, время не очень удобное для этого. Но это чистая формальность, так как я не хотел дальше тянуть, тем более из-за рождества дата окончания скорее всего сдвинулась бы.
Я мог бы расширить слияние окна, точнее разделить его на короткие части, но я не стал этого делать. Я подозреваю, что всем нам нужен спокойный рождественский отдых, так что если ваш товар еще не готов к миграции,лучшим решениям для вас будет подождать версию 4.11.
В любом случае, давайте вернемся к 4.9.
Я уверен, что это самый большой релиз, который мы имеем, по крайней мере по числу “коммитов”. Если смотреть на число измененных строк, у нас уже были большие релизы в прошлом, но они, как правило связаны с решением конкретных проблем (например v4.2 имеет много строк относительно регистрации файлов определения графического процессора AMD и мы были вынуждены сделать много реорганизаций, что привело к большому количеству строк, v3.2 была большой из-за инсценировки, v3.7 имел автоматический uapi заголовок дизинтеграции файла и т.д.). В отличии от остальных 4.9 просто большая.
Правда часть кода занимает новая поддержка greybus, но это не самая большая часть – это всего лишь еще одна маленькая деталь в общей картине “да, v4.9 большая”.
Кроме размера версия 4.9 выглядит нормально. Чуть более двух третей кода занимают драйвера (инсценировка, графический процессор и сетевые адаптеры – это основная масса, но не все конечно), остальное выглядит тоже вполне нормально: архив обновлений, документация, общая сеть, файловая система…
Краткий журнал (16k+ коммитов, совмещенных с другими 1100 коммитами) получился очень большой.
Linux 4.8 принес нам HDMI-CEC структуру, новое ядро документации системы на данный момент базирующееся на Sphinx, пользовательское пространство GPIO подсистема и инструменты, улучшения файловых систем и многое другое.
Некоторые из наиболее заметных изменений Linux 4.9 включают в себя:
- Промежуточная поддержка greybus. В то время как проект Ara был отменен, код до сих пор используется в одном из телефонов Motorola, также он необходим для чипа Toshiba, а также для других неизвестных пользователей.
- Доработка файловых систем для CIFS (исправлены ошибки, параметр монтирования ids из sid, улучшено повторное обращение), BTRFS (исправлены ошибки), NFS (исправлены ошибки и новые возможности такие, как серверное копирование), F2FS (исправлены ошибки и улучшения производительности), EXT-4 (“Множество ошибок исправлены и почищены”) и XFS (iomap на базе инфраструктуры DAX и доработан XFS delalloc, исправлены ошибки).
- Улучшена безопасность с практически сопоставленными стеками ядра и ключи защиты памяти.
- AMDGPU теперь поддерживает старые графические карты Radeon, поддержка виртуального дисплея и улучшенный сброс.
Некоторые исправления и новый функции ARM архитектуры:
- Allwinner:
- Allwinner GR8 – Предварительная поддержка сокета
- Allwinner AXP209 PMIC – Поддержка GPIO
- Allwinner A31 – Поддержка SPDIF
- Allwinner A23/A33 и A31/A31s – Драйвер sunxi-ng CCU
- Allwinner A33 – Драйвер дисплея
- Allwinner A64 – Поддержка USB PHY
- Allwinner H3 – Поддержка PWM, поддержка I2C
- AXP806 PMIC – Поддержка регулятора
- AC100 RTC / codec IC – Драйвер mfd, драйвер RTC
- Новые платы и устройства – Orange Pi PC Plus, Olimex A33-OLinuXino, Orange Pi Lite, Inet q972, Empire Electronix M712, Orange Pi Plus 2, Orange Pi Plus 2E, NanoPi NEO.
- Rockchip:
- PCI – Обновление ведущего моста Rockchip rk3399, драйвер DTS и сброс
- Rockchip RK808 PMIC драйвер
- Драйвера твиков Rockchip DDR clks и rk3399
- Драйвер phy для Rockchip usb2phy, встроенный PCIe PHY и USB Type-C PHY на rk3399
- Обновление совместимости строк для Rockchip efuse (RK3399)
- Поддержка для Tronsmart Orion R86 бокса (RK3368), эталонная плата Rockchip RK3288 Fennec, платформа Firefly RK3288 Reload
- Amlogic
- Изменения сети, часов и usb драйвера для meson-gxbb (S905)
- Монитор безопасности прошивки для сокетов Amlogic и NVMEM драйвер для EFUSE на базе прошивки этого интерфейса
- Изменения Amlogic 64-bit DT: добавлен хост USB, I2C, контроллер SPI флеш, PWM, почтовый ящик, MHU, pinctrl: добавлены контакты для SPI, I2C, SDIO
- Обновления поддержки ИК для новых сокетов
- Сеть: новый драйвер stmmac glue
- Samsung
- Добавлен драйвер Samsung Exynos Low Power Audio (LPASS = Low Power Audio SubSystem)
- Обновление драйвера samsung clk: подсистема звука связанная с часами, добавление DRAM контроллера связанного с часами для exynos5420
- Дерево обновления устройства
- Включен HDMI на плате Arndale Octa.
- Список обновления часов для FIMC-IS блок на Exynos4x12.
- Удалено предупреждение компилятора skeleton.dtsi to fix DT.
- Очистка DT файлов
- Позволяет скомпилировать тестовый драйвер exynos-mct clocksource на ARM64.
- Документ совместимости Exynos5433 PMU
- Выбор набора последовательного битрейта который обеспечивает правильный последовательный вывод, когда загрузчик передает все данные в командной строке
- Qualcomm
- Исправлена ошибка одновременного воспроизведения и захвата для ASoC
- Добавлен интерфейс внешней шины 2 (EBI2) Qualcomm, используемый в чипах некоторых мобильных телефонов для соединения флеш памяти, LCD дисплея или прочей периферии
- Добавлены драйвера skeletal TSENS для MSM8916/MSM8996. TSENS это тепловой датчик температуры устройства Qualcomm
- Добавлена поддержка дисплея MSM8916/APQ8016
- Обновления для MSM8916 включая TSCR, SMSM/SMP2P и резерв MBA
- Включен параметр defconfig для QDF2432
- Добавлен одноплатный компьютер Qualcomm DragonBoard 820c в форм факторе 96boards, LG Nexus 5 Phone
- Дерево изменений устройства:
- Переделан dr_mode на APQ8064 и Nexus7
- Добавлен порт MSM8974 BLSP1 UART1
- Добавлено сопоставление SATA AP148
- Исправление MSM8660/MSM8064 SPMI/MPP IRQs
- Добавлен Nexus7 IMEM/reboot reason
- Добавлена поддержка сенсорного экрана Honami
- Добавлена поддержка TSENS на MSM8974, APQ8064 и APQ8084
- Добавлены светодиоды для APQ8060 Dragonboard PM8058
- Переделан VPH PWR REG для MSM8974
- Mediatek
- Добавлен встроенный Mediatek драйвер для mt2701
- Найден драйвер для mt6577 auxdac в mt2701, mt6577 и mt8173
- Исправлены некоторые DRM драйвера
- Прочие новые ARM аппаратные платформы или сокеты:
- Платформа для разработки Marvell Armada 8040, роутер Netgear WNR854T, платформа сокета Armada 395, GP плата платформы для разработки Armada 390 DB
- Сокет ZTE ZX296718 STB
- ТВ сокет SocioNext UniPhier LD11
- Эталонные платы Broadcom BCM958525er, BCM958522er, BCM988312hr, BCM958623hr и BCM958622hr для платформы Northstar, плата Raspberry Pi Zero
- Эталонная плата NXP i.MX 7 Warp7, Gateworks Ventana GW553x SBC, Technologic Systems TS-4900 и компьютер на модуле Engicam IMX6UL GEA M6UL, плата Inverse Path USB armory
- Платформы для разработки Renesas r8a7792/wheat и r7s72100/rskrza1
- Одно-платный компьютер ST Microelectronics STi B2260 (96boards)
- Комплект для разработки TI Davinci OMAP-L138 LCDK, одно-платный компьютер beagleboard-x15 rev B1
Так же в Linux 4.9 были внесены изрядные изменения MIPS, вот некоторые из них:
- Различные обновления основного кода MIPS ядра – универсальная плата на базе DT & поддержка Flattened Image Trees (.itb), поддержка согласования каждого DMA устройства, исправления ошибок для KVM, uprobes, c-r4k, ptrace и прочее
- Octeon – Удаление мертвого кода и файлов, изменение использование всей памяти на использование по умолчанию, добавлен DTS для D-Link DSR-500N и т.д…
- Pistachio – Удален ANDROID_TIMED_OUTPUT для defconfig
- TX39xx & TX49xx – Перемещена установка GPIO из .mem_setup() в .arch_init(), преобразование в Common Clock Framework
- txx9wdt – Добавлены недостающие часы для CCF
- BMIPS – Добавлены PW, GPIO SDHCI и NAND устройство узла имен, добавлены DT примеры для BCM63268, BCM3368 и BCM6362, добавлена поддержка для BCM3368 и BCM6362, и т.д…
- Изменения кода для PCI, CPC, GIC, SMP, USB хост, cpuidle, fbdev, auxdisplay…
- mt7620 – Удалены ненужные задания из поля “owner” из PCI
- BCM63xx -Пусть clk_disable() возвращает немедленно, если clk является NULL
- pm-cps – Изменен FSB обход черного списка CPU, использование MIPS стандарта для легкого направления барьера, окончание барьера и т.д…
- SEAD3 – Переписано использование DT и общая характеристика ядра
- Malta – Переписано использование DT
- Loongson1C – Добавлена поддержка CPU для Loongson1C, добавлена поддержка плат, добавлен defconfig и добавлена поддержка RTC для платы Loongson1C
Полный лист изменений можно найти в журнале изменений Linux 4.9 только с комментариями, созданный с помощью git log v4.8..v4.9 --stat.
Вы также найдете более удобочитаемый список изменений для Linux 4.9 на kernelnewbies.org.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.