LINUX.ORG.RU

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

 ,


2

3

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

  • Добавлен системный вызов pidfd_open() для получения дескриптора pidfd по номеру pid. Механизм pidfd позволяет при отправке сигнала исключить риск того, что процесс-получатель успеет завершиться и на его месте успеет оказаться совсем другой процесс с таким же process ID. Подробности.
  • Ограничения частотных диапазонов в планировщике процессов. Например, критические процессы можно запускать с минимальным порогом частоты (скажем, не менее 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/<pid>/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.

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

Полноценнная работа на х86-совместимых процессорах Zhaoxin, созданных в результате сотрудничества компании VIA и правительства Шанхая

В этой новости прекрасно все. Какие то оксюмороны в лице правительства шанхая и мнимости типа via договорились, поработали и теперь линукс полноценно работает на процессорах из зазеркалья...

AVL2 ★★★★★ ()

Допущен к использованию диапазон 0.0.0.0/8, что даёт 16 млн новых IPv4-адресов

Фига себе. Это просто подготовка, или RFC уже поправили и актуальное сетевое железо не будет возражать?

router ★★★★★ ()

Режим путешествий во времени для User-mode Linux (замедление и ускорение времени).

игроделы/разработчики портов для игр будут «очень рады» )))

но в целом оч нужно

reprimand ★★★★★ ()

В релизе этого ядра был удалён патч размером 3 строчки, который ускорял ext4. Он был убран потому, что он ломал Systemd. Подробнее - в новости на Опеннете.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от AVL2

В этой новости прекрасно все. Какие то оксюмороны в лице правительства шанхая и мнимости типа via договорились, поработали и теперь линукс полноценно работает на процессорах из зазеркалья...

Теперь linux будет и на китайских танках работать, ну и на кое чем другом.

anonymous ()

Ограничения частотных диапазонов в планировщике процессов. Например, критические процессы можно запускать с минимальным порогом частоты (скажем, не менее 3 ГГц), а низкроприоритетные — с верхним порогом частоты (к примеру, не более 2 ГГц).

Объясните, как это может работать? Если процессор перескакивает на обработку низкоприоритетной задачи, частота занижается ради экономии киловатточасов? А смысл, если высокоприоритетная всё ещё может быть в тот же момент нужна? Ну и постоянно скакать частота туда-сюда будет? Или я вообще всё неправильно понял?

Поддержка сжатия прошивок в xz-формат, что позволяет уменьшить каталог /lib/firmware с ~420 Мб до ~130 Мб.

Джва года ждал!

Режим путешествий во времени для User-mode Linux (замедление и ускорение времени).

Ого, шутки про машину времени обрели другой смысл...

BattleCoder ★★★★★ ()
Последнее исправление: BattleCoder (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Центр ядра. Площадь Торвальдса. Наш Горисполком — это единственная площадь, куда можно согнать всех девелоперов. На площади собрали женщин, потому что SJW. Женщины, девочки, старики. И это называется показательная казнь. Взяли патч трёх строк, патч маленький, в master-ветке, как Иисуса, в список рассылки прибили. Один прибивал, двое держали. И это всё на мейнтейнера глазах. Коммитера держали. И коммитер смотрел, как патч истекает revert'ом. Крики. Визги. И ещё взяли новости сделали, чтоб автор мучился. Там невозможно было. Люди сознание теряли. А потом, после того как полтора часа мейнтейнер мучился, и патч заревертили, взяли коммитера, привязали до ЛОРа без сознания и по площади три круга провели. А круг площади — километр.

post-factum ★★★★★ ()

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

Стреляйте! Оно ползёт на свет!

// А вообще, хороший список изменений. Поры бы выкинуть половину в ЮС, чтобы не сильно пухло.

IPR ★★★★★ ()
Ответ на: комментарий от kto_tama

На ubuntu 18 lts поставить 5-ю версию ядра можно тоже только через бубен

Ну это ложь. Прям даже если с сайта скачаешь десктопную редакцию, то 5.0 будет из коробки 📦

fornlr ★★★★★ ()
Ответ на: комментарий от router

Это просто подготовка, или RFC уже поправили и актуальное сетевое железо не будет возражать?

сетевики подсказали, что это подготовка, но изменение RFC планируется ( когда во все популярные ОС внесут изменения )

https://linkmeup.ru/blog/461.html

router ★★★★★ ()

Закрепление продолжает действовать и после прекращения процесса, чтобы PID можно было выдать ему при повторном запуске.

чтобы PID можно было выдать ему при повторном запуске

ему

при повторном запуске

Один процесс невозможно запустить дважды. Если процесс запущен заново - это уже ДРУГОЙ процесс.

Отвратительная лживая формулировка ньюсрайтера.

«Ему» при «повторном запуске» - это как? Если процесс умер - то все, его уже не воскресить. Процесс, который родится заново - это уже другой процесс.

hakavlad ()

Клиенты NFS могут установить сразу несколько TCP-подключений к серверу через опцию монтирования nconnect=X.

интересно, зачем это? Неужели несколько потоков дают прирост в скорости? Или это против трафик шейпинга?

AVL2 ★★★★★ ()