Ядро Linux 5.3 увидело свет!

good-penguin.png

Главные новшества

  • Механизм pidfd, позволяющий закрепить конкретный PID за каким-либо процессом. Закрепление продолжает действовать и после прекращения процесса, чтобы PID можно было выдать ему при повторном запуске. Подробности.
  • Ограничения частотных диапазонов в планировщике процессов. Например, критические процессы можно запускать с минимальным порогом частоты (скажем, не менее 3 ГГц), а низкроприоритетные — с верхним порогом частоты (к примеру, не более 2 ГГц). Подробности.
  • Поддержка видеочипов семейства AMD Navi (RX5700) в драйвере amdgpu. Реализована вся необходимая функциональность, включая кодирование/декодирование видео и управление питанием.
  • Полноценнная работа на х86-совместимых процессорах Zhaoxin, созданных в результате сотрудничества компании VIA и правительства Шанхая.
  • Подсистема управления питанием по технологии Intel Speed Select, характерной для некоторых процессоров семейства Xeon. Технология примечательна возможностью детальной настройки производительности для каждого ядра ЦП.
  • Энергоэффективный механизм режима ожидания процессов в пространстве пользователя, использующий инструкции umwait для процессоров Intel Tremont. Подробности.
  • Допущен к использованию диапазон 0.0.0.0/8, что даёт 16 млн новых IPv4-адресов. Подробности.
  • Гибкий легковесный гипервизор ACRN, хорошо подходящий для управления IoT-систем (интернет вещей). Подробности.

Далее перечислены некоторые другие изменения.

Основная часть ядра

  • Поддержка сжатия прошивок в xz-формат, что позволяет уменьшить каталог /lib/firmware с ~420 Мб до ~130 Мб.
  • Новый вариант системного вызова clone() с возможностью задать большее количество флагов. Подробности.
  • Автоматический выбор большего шрифта для высоких разрешений в консоли.
  • Опция CONFIG_PREEMPT_RT, знаменующая скорую интеграцию набора RT-патчей в основную ветку ядра.

Файловая подсистема

  • Системные вызовы BULKSTAT и INUMBERS для XFS v5, также начата работа по реализации многопоточного обхода инодов.
  • Btrfs теперь использует быстрые контрольные суммы (crc32c) на всех архитектурах.
  • К открытым файлам на Ext4 теперь жёстко применяется флаг неизменяемости (иммутабельности). Реализована поддержка пустот (holes) в каталогах.
  • CEPH научилась работать с SELinux.
  • Механизм smbdirect в CIFS больше не считается экспериментальным. Добавлены криптоалгоритмы для SMB3.1.1 GCM. Повышена скорость открытия файлов.
  • На F2FS можно размещать файлы подкачки, они работают в режиме прямого доступа. Возможность отключить сборщик мусора при checkpoint=disable.
  • Клиенты NFS могут установить сразу несколько TCP-подключений к серверу через опцию монтирования nconnect=X.

Подсистема памяти

  • Каждому dma-buf даётся полноценный инод. Из каталогов /proc/*/fd и /proc/*/map_files можно получить много подробных данных об использовании буферов shmem.
  • Механизм smaps показывает отдельную информацию по анонимной и разделяемой памяти, а также по файловому кэшу в proc-файле smaps_rollup.
  • Использование rbtree для swap_extent повысило производительность в условиях активного использования подкачки многими процессами.
  • В /proc/meminfo отображается количество страниц vmalloc.
  • Расширены возможности tools/vm/slabinfo в плане сортировки кэшей по степени фрагментации.

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

  • Драйвер virtio-iommu для паравиртуализированного устройства, позволяющего слать запросы IOMMU без эмуляции таблиц адресов.
  • Драйвер virtio-pmem для доступа к накопителям через физическое пространство адресов.
  • Ускорение доступа к метаданным для vhost. Для TX PPS тесты показывают рост скорости на 24%.
  • Для vhost_net запрещён zerocopy по умолчанию.
  • Ключи шифрования можно прикреплять к пространствам имён.
  • Поддержка xxhash — крайне быстрого не-криптографического алгоритма хэширования, скорость которого ограничена только производительностью памяти.

Сетевая подсистема

  • Начальная поддержка nexthop-объектов, созданных для улучшения масштабируемости маршрутов IPv4 и IPv6.
  • Netfilter научился выгружать фильтрацию на аппаратные устройства ускорения. Добавлена встроенная поддержка отслеживания соединений для мостов.
  • Новый модуль контроля трафика, позволяющий манипулировать MPLS-заголовками пакетов.
  • Удалена подсистема isdn4linux.
  • Доступны LE-пинги для Bluetooth.

Аппаратные архитектуры

  • Новые ARM-платформы и устройства: Mediatek mt8183, Amlogic G12B, Kontron SMARC SoM, Google Cheza, devkit для Purism Librem5, Qualcomm Dragonboard 845c, Hugsun X99 TV Box, и др.
  • Для x86 добавлен механизм /proc//arch_status для отображения архитектурно-специфической информации вроде времени последнего использования AVX512.
  • Оптимизирована работа VMX для KVM, скорость vmexit повышена на 12%.
  • Добавлена и обновлена различная информация о процессорах Intel KabyLake, AmberLake, WhiskeyLake и Ice Lake.
  • Сжатие lzma и lzo для uImage на PowerPC.
  • Защищённая virtio-виртуализация для S390.
  • Поддержка больших страниц памяти для RISCV.
  • Режим путешествий во времени для User-mode Linux (замедление и ускорение времени).

Драйверы устройств

  • Распознание метаданных HDR для драйверов amdgpu и i915.
  • Расширения функциональности для видеочипов Vega12 и Vega20 в amdgpu.
  • Мультисегментная гамма-коррекция для i915, а также асинхронное отключение питания экрана и ряд новых прошивок.
  • Видеодрайвер Nouveau научился распознавать чипы семейства TU116.
  • Новые Bluetooth-протоколы MediaTek MT7663U и MediaTek MT7668U.
  • Выгрузка TLS TX HW для Infiniband, а также расширение аппаратного и температурного мониторинга.
  • Распознание Elkhart Lake в драйвере HD Audio.
  • Новые аудиоустройства и кодеки: Conexant CX2072X, Cirrus Logic CS47L35/85/90, Cirrus Logic Madera, RT1011/1308.
  • Драйвер Apple SPI для клавиатуры и трекпада.
  • В подсистеме watchdog можно установить предельное время для открытия /dev/watchdogN.
  • Механизм управления частотой cpufreq получил поддержку imx-cpufreq-dt и Raspberry Pi.

>>> Подробности

©  Linux.org.ru