И снова Linux: релиз ядра 6.3. Подробнее о возможностях и апдейтах в этой версии

в 0:33, , рубрики: linux 6.3, open source, Блог компании Selectel, Разработка под Linux, релизы, Софт
И снова Linux: релиз ядра 6.3. Подробнее о возможностях и апдейтах в этой версии - 1

Всего через два месяца после выхода предыдущего релиза Линус Торвальдс представил релиз Linux 6.3, о чем уже писали на Хабре. Над ним пришлось изрядно потрудиться: в новой версии 15637 исправлений от 2055 разработчиков. Размер патча составил 76 МБ, ну а изменения затронули 14296 файлов, добавлено 1023183 строк кода, удалено 883103 строк.

Что касается основных изменений, то главное — обновление ARM-платформ и драйверов графики, продолжение работы по интеграции Rust, поддержка создания HID-драйверов и многое другое. Подробности — под катом.

Железо

  • На данный момент проведена чистка графических драйверов. В первую очередь, изменения коснулись: i810 (старые интегрированные видеокарты Intel 8xx), mga (Matrox GPU), r128 (ATI Rage 128 GPU, включая карты Rage Fury, XPERT 99 и XPERT 128), savage (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) и via (VIA IGP), которые были объявлены устаревшими в 2016 году и не поддерживаются в Mesa с 2012 года.
  • Кроме того, удалены драйверы фреймбуфера (fbdev) omap1, s3c2410, tmiofb и w100fb.
  • Есть и добавления новинок. Так, например, в драйвере i915 (Intel) расширена поддержка дискретных видеокарт Intel Arc (DG2/Alchemist), реализована предварительная поддержка GPU Meteor Lake, включена поддержка GPU Intel Xe HP 4tile.
  • Также в драйвер amdgpu разработчики добавили поддержку технологии AdaptiveSync и возможность использования с несколькими дисплеями режима защиты от перехвата выводимых на экран данных (Secure Display). Обновлена поддержка DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x и DP 2.1.
  • А в драйвер msm (GPU Qualcomm Adreno) добавлена поддержка платформ SM8350, SM8450 SM8550, SDM845 и SC8280XP.
  • Еще немножко обновлений. Так, разработчики реализовали драйвер pata_parport для IDE-накопителей, подключаемых через параллельный порт. В итоге появилась возможность удалить из ядра старый драйвер PARIDE и модернизировать подсистему ATA. Ограничением нового драйвера является невозможность одновременного подключения принтера и диска через параллельный порт.
  • Не обошли вниманием и новые беспроводные модули. Так, добавлен драйвер ath12k для беспроводных карт на чипах Qualcomm с поддержкой Wi-Fi 7. Добавлена поддержка беспроводных карт на чипах RealTek RTL8188EU.
  • А еще — появилась поддержка большого количества плат с чипами на базе ARM64. Среди новинок — Samsung Galaxy tab A (2015), Samsung Galaxy S5, BananaPi R3, Debix Model A, EmbedFire LubanCat 1/2, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, а также устройства на базе SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 и SDM632, Rockchips RK3128 TV box, RV1126 Vision, RK3588, RK3568, RK3566, RK3588 и RK3328, TI K3 (AM642/AM654/AM68/AM69).

Диски и файлы

  • Для того, чтобы снизить фрагментацию групп блоков в Btrfs, разработчики предусмотрели разделение разделение экстентов по размеру при выделении блоков. Другими словами, практически любая группа блоков теперь ограничивается мелкими (до 128KB), средними (до 8 МБ) и крупными экстентами. А еще — проведена оптимизация производительности, в результате чего удалось ускорить операцию send вплоть до 10 раз. Такого значительного результата удалось достичь за счёт кэширования utime для каталогов и выполнения команд только при необходимости.
  • Что касается файловой системы ext4, то повышена ее производительность, в первую очередь, за счет одновременного выполнения несколькими процессами операций прямого ввода/вывода в заранее выделенные блоки.
  • В NFS добавлена поддержка шифрования данных с применением алгоритма AES-SHA2.
  • Ну а в f2fs оптимизирована читаемость кода. В частности, решены важные проблемы, которые связаны с атомарной записью и новым кэшем экстентов.

И снова Linux: релиз ядра 6.3. Подробнее о возможностях и апдейтах в этой версии - 2

Память и системные сервисы

  • В этом релизе ядра разработчики провели чистку кода, причем довольно тщательную. Так, удален код, который связан с устаревшими и не используемыми более ARM-платами. Только благодаря одному этому шагу размер исходных текстов ядра сократился на 150 тыс. строк. Всего было удалено около 40 старых ARM-платформ.
  • Также добавлена возможность писать драйвера для устройств ввода с интерфейсом HID (Human Interface Device), реализуемых в форме BPF-программ.
  • Хорошая новость для любителей Rust. Разработчики продолжили процесс переноса из ветки Rust-for-Linux дополнительной функциональности, связанной с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра.
  • И еще — в User-mode Linux) на системах x86-64 реализована поддержка кода, написанного на языке Rust.
  • Добавлена поддержка инструкций SME 2 (Scalable Matrix Extension) для процессоров ARM.
  • Кроме того, добавлена поддержка механизма BPF trampoline для архитектур s390x и RISC-V RV64.
  • Ну а для чипов на базе RISC-V реализовано использование инструкций «ZBB» для ускорения операций со строками.
  • Разработчики не обошли стороной и китайские чипы. Так, для процессоров на базе архитектуры LoongArch реализована поддержка рандомизации адресного пространства ядра (KASLR), изменения размещения ядра в памяти (relocation), аппаратных точек останова и механизма kprobe.
  • Ну а от поддержки сборки ядра компилятором Intel ICC пришлось избавиться, поскольку она уже достаточно много времени была нерабочей. Проблему никто так и не решил.

Виртуализация и безопасность


И снова Linux: релиз ядра 6.3. Подробнее о возможностях и апдейтах в этой версии - 3

  • Стоит отметить важный момент — в KVM для систем x86 добавлена поддержка расширенных гипервызовов Hyper-V. Кроме того, обеспечен их проброс в обработчик, который работает в хост-окружении в пространстве пользователя. Это изменение дало возможность реализовать поддержку вложенного запуска гипервизора Hyper-V.
  • Устранена уязвимость, которая дает возможность обойти защиту от атак Spectre v2 при применении технологии одновременной многопоточности (SMT или Hyper-Threading).
  • Стоит снова вспомнить архитектуру ARM64 — для нее добавлена сборочная цель «virtconfig». При ее выборе активируется минимальный набор компонентов ядра, который нужен для загрузки в системах виртуализации.
  • Ну и еще — добавлена поддержка встроенных в процессоры AMD Ryzen устройств CRB TPM2 (Command Response Buffer), основанных на технологии Microsoft Pluton.

Сеть и все, что с ней связано

  • Разработчики убрали поддержку API «wireless extensions» для управления беспроводными интерфейсами WiFi 7 (802.11be). Сделано это по той причине, что API не отрабатывает все необходимые настройки.
  • Добавлена возможность обработки смешанных потоков для MPTCP (MultiPath TCP). Речь, в первую очередь, о тех потоках, где используются протоколы IPv4 и IPv6.
  • Появился новый новый sysctl-параметр default_rps_mask. Через него можно задать применяемую по умолчанию конфигурацию RPS (Receive Packet Steering).
  • Разработчики убрали поддержку дисциплин обработки очередей для ограничения трафика CBQ (class-based queuing), ATM (ATM virtual circuits), dsmark (differentiated service marker), tcindex (traffic-control index) и RSVP (resource reservation protocol).
  • Что касается ICMP, то здесь добавлены счетчики IcmpOutRateLimitGlobal, IcmpOutRateLimitHost и Icmp6OutRateLimitHost (nstat -sz "*RateLimit*") для отслеживания состояния ограничения интенсивности пакетов (rate limit).

И снова Linux: релиз ядра 6.3. Подробнее о возможностях и апдейтах в этой версии - 4

Ну и как всегда, в открытом доступе появился вариант свободного ядра 6.3 — Linux-libre 6.3-gnu. Он создан силами латиноамериканского Фонда свободного ПО. В частности, для выпуска свободного ядра были почищены блобы в новых драйверах ath12k, aw88395 и peb2466, а также в новых файлах devicetree для устройств qcom на базе архитектуры AArch64, а также выполнена чистка и других объектов.

Возможно, эти тексты тоже вас заинтересуют:

Как подключить платежную систему с Payments к Telegram
Облако с государственной аттестацией: как пользоваться гибкостью виртуализации и сответствовать приказам ФСТЭК
Способы организации инфраструктуры с базами данных: от простого к сложному и эффективному

Кто уже опробовал новинку — все ли прошло хорошо и гладко после обновления? Проблем не было?

Автор: Aleksandr

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js