Хабрахабр

Что нового в Linux kernel 5.3 — графические драйверы, виртуализация и модификации в сетевой подсистеме

Расскажем об обновлениях и посмотрим, какие изменения уже готовят для следующей версии.


Фото — Ian Parker — Unsplash

Обновление графических драйверов

В Linux kernel 5.3 добавили поддержку GPU AMD Navi (RX5700) в драйвере amdgpu. Все бинарные микрокоды, необходимые для инициализации видеокарт, разместили (спустя какое-то время после релиза обновления) в репозитории linux-firmware.git. Ранее «бинарники» приходилось скачивать отдельно — с личного сайта Алекса Дойхера (Alex Deucher), ведущего мейнтейнера amdgpu.

Также разработчики ядра улучшили работу видеокарт GPU Vega12 и Vega20, для которых добавили дополнительные возможности управления памятью и энергопотреблением.

Они добавили поддержку Turing TU116. Есть и ряд обновлений от разработчиков проекта Nouveau, отвечающих за свободные драйверы Nvidia. Мейнтейнер проекта отметил, что вместе с новыми определениями чипсета в драйвере Nouveau исправили ошибки, связанные с утечками памяти и работой KMS. Это — графический процессор, устанавливаемый на карты GeForce GTX 1660 Ti.


Пока ничего не известно о реализации реклокинга для графических карт серии GTX 900 Maxwell. Хотя в скором времени ситуация может измениться. В середине августа Nvidia передали свежую документацию для своих продуктов в open source. И информацию, необходимую для настройки автоматического управления частотой, должны предоставить позже.

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

Linux теперь поддерживает обработку IPv4 в диапазоне 0.0.0.0/8. Введение этой подсети дало возможность распределить ещё 16 млн IP-адресов. Также для IPv4 и IPv6 добавили механизм nexthop. Он повышает масштабируемость таблиц маршрутизации. По данным разработчиков ядра, новое решение загружает 740 тыс. маршрутов за 4,3 секунды.

Теперь на сторону сетевых адаптеров разрешено выносить целые таблицы правил — есть поддержка простых метаданных протоколов L3 и L4, а также сопоставление по адресам и сетевым портам отправителя/получателя и типу протокола. Также межсетевой экран netfilter с nftables получил механизм ускорения фильтрации пакетов — в драйверы добавили Flow Block API.

Виртуализация

В состав ядра включён гипервизор ACRN, который используют в IoT-устройствах и встраиваемой технике. Его развивают на основе легковесного гипервизора Intel.


Фото — Casey Horner —Unsplash

Он дает возможность ускорить или, наоборот, замедлить время в виртуальном окружении UML. Еще Linux получил режим time travel. Дополнительно разработчики добавили параметр time-travel-start — он запускает системные часы ВМ с требуемого момента. Эта функция упрощает отладку кода, работа которого связана со временем.

Новая периферия

В Linux-ядро добавили SPI-драйвер для клавиатур и трекпадов MacBook и MacBook Pro, выпускаемых с 2015 года. Apple не раскрывали документацию для SPI-стандарта, но команде разработчиков ядра удалось провести его реверс-инжиниринг и написать драйвер. Хотя работа над проектом пока не завершена — остались еще несколько команд, информация о которых зашифрована.

3 добавили поддержку: руля Saitek R440 Force Feedback, графических планшетов Ugee Rainbow CV720, Wacom MobileStudio Pro и Wacom Intuos Pro Small (2-е поколение), а также ресивера Logitech MX3000 (27 МГц). Также в Linux kernel 5.

Что убрали

Перед релизом новой версии ядра Линус Торвальдс в рассылке LKML напомнил ИТ-сообществу главное правило разработки ядра Linux: изменения не должны нарушать работу существующих приложений. После он сообщил, что решил отказаться от патча, оптимизирующего работу ext4.

Но оптимизация привела к неожиданной ошибке — система начала «подвисать» при запуске генератора getrandom(), который использует дисковую активность для формирования случайных чисел. Тот сокращал число обращений к накопителю, отключая упреждающее чтение таблицы inode при мелких I/O-запросах. Поэтому оптимизацию ext4 отложили до тех пор, пока баг не исправят.

FMC использовали для связывания FPGA и других устройств с интерфейсом ввода/вывода. Также после дискуссий в LKML, разработчики объявили, что сворачивают поддержку шины FMC — за неё отвечали инженеры из CERN на протяжении семи лет.

Систему решили переписать с нуля, так как в ней обнаружили серьезные архитектурные недостатки. Она появится в последующих релизах ядра Linux.

Что ждать в kernel 5.4

В ней обновят систему мониторинга для процессоров AMD — hwmon. Пока что, из-за ошибки разработчика аппаратного обеспечения, решение показывает неверные данные температуры для Ryzen 3000. Также в kernel 5.4 добавят поддержку системы на кристалле Qualcomm Snapdragon 855 и Intel Icelake Thunderbolt.


Фото — Marvin Heilemann — Unsplash

UMIP-инструкции выполняются в пространстве пользователя, что вызывает ошибки в работе под Wine. В грядущей версии ядра введут патч, который оптимизирует работу ряда 64-битных игр Windows под Wine, CrossOver и Valve Proton. Новую версию Linux избавят от этого недостатка.

Разработчики регулярно вносят изменения в системные вызовы, и грядущая версия ядра не должна стать исключением. Разумеется, появятся свежие обновления, решающие проблему 2038 года.

О чем мы пишем в наших блогах и социальных сетях:

Зачем Mozilla, Coil и Creative Commons выделяют для open source проектов 100 млн долларов
«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения

Как обезопасить Linux-систему: 10 советов
Как IaaS помогает франчайзи «1С»: опыт 1cloud

Как выбрать ОС для виртуального сервера
7 полезных ссылок для изучения и использования Git

VDS на базе Linux в облаке 1cloud.ru. Готовые дистрибутивы FreeBSD, CentOS, Ubuntu, Debian можно бесплатно протестировать.

Показать больше

Похожие публикации

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

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

Кнопка «Наверх»