Разделы

ПО Свободное ПО Техника

Вышло ядро Linux 5.9 с поддержкой несуществующих процессоров Intel и AMD

После двух месяцев разработки состоялся релиз стабильной версии ядра Linux 5.9. Чуть менее половины всех изменений в нем так или иначе касаются драйверов устройств. К, примеру, в списке поддерживаемых Linux устройств добавились графические ускорители AMD Navi 21 и Navi 22, а также GPU Intel на основе архитектуры Rocket Lake, выход которых еще только предстоит.

Выход ядра Linux 5.9

Глава команды разработчиков Linux Линус Торвальдс (Linus Torvalds) объявил о выпуске стабильной версии ядра Linux 5.9.

Релиз включает массу изменений, в том числе начальную поддержку будущих графических процессоров Intel и AMD, инструкции FSGBASE для ускоренного переключения контекста на x86-совместимых платформах, команд для зонирования твердотельных накопителей стандарта NVMe, а также алгоритма zstd для сжатия образа ядра, что обеспечивает его более быструю загрузку.

В новую версию Linux было принято 16074 исправления от 2011 разработчиков. Причем 45% всех изменений имеют отношение к драйверам устройств, 15% – к обновлению кода, специфичного для аппаратных архитектур, 13% – к сетевому стеку, по 3% – к файловым системам и внутренним подсистемам ядра. В процессе разработки ядра Linux 5.9, который занял два месяца, было выпущено восемь релиз-кандидатов (Release Candidates, RC).

linux600.jpg
Выпущено ядро Linux 5.9

Исходный код Linux 5.9 с 11 октября 2020 г. доступен для загрузки с сайта kernel.org.

Предыдущая версия Linux, напомним, вышла в начале августа 2020 г. Работа над ней также длилась два месяца, и за это время разработчики внесли в ядро свыше 17,6 тыс. изменений, включая 1,04 млн новых строчек кода. Это было самое крупное обновление за все 29 лет существования Linux, и в него впервые в истории добавили поддержку российского процессора – Baikal T1.

Поддержка нового «железа»

В DRM-драйвере i915 для видеокарт Intel включена поддержка графических чипов (GPU) на основе микроархитектуры Rocket Lake. Ожидается, что процессоры данного семейства выйдут на рынок в I квартале 2021 г. Также в драйвер добавлена начальная поддержка дискретных графических карт Intel Xe DG1. Впервые дискретные видеокарты на архитектуре Xe Intel продемонстрировала в апреле 2019 г.

Графический драйвер AMD (amdgpu) в Linux получил начальную поддержку GPU AMD Navi 21 (Navy Flounder) и Navi 22 (Sienna Cichlid), которые должны быть представлены 28 октября 2020 г.

В свободный драйвер Nouveau для GPU Nvidia добавлена поддержка покадровой проверки целостности при помощи CRC (Cyclic Redundancy Checks).

Дмитрий Балдин, «РусГидро»: Вынужденный переход на open source приводит к увеличению поверхности кибератак
безопасность

Примечательно, что кодовая база вышеупомянутого драйвера amdgpu, по подсчетам издания Phoronix, составляет порядка 10,5% (2,71 млн строк) от исходного кода всего ядра (27,81 млн строк). Для сравнения: разработчики i915 ограничились 209 тыс. строк, а Nouveau – 149 тыс. Стоит отметить, что львиная доля (1,79 млн строк) кода amdgpu приходится на автоматически сгенерированные заголовочные файлы C.

Наконец, в новое ядро добавлена поддержка ряда смартфонов, планшетов и других устройств. Так, в списке изменений Linux 5.9 заявлена работа на смартфоне Pinephone ревизии 1.2 (выпускается Pine Microsystems на SoC Allwinner sunxi); хромбука Lenovo Ideapad Duet 10.1 на базе чипа Mediatek Helio P60t; планшетов Asus Google Nexus 7 и Acer Iconia Tab A500 на чипах Nvidia Tegra 3 и 2 соответственно; смартфонов Xiaomi Libra (Mi 4C) и Microsoft Lumia 950 под управлением однокристальных систем Snapdragon 808; смартфона Sony Experia Z5 (Snapdragon 810).

Кроме того, Linux 5.9 поддерживаются роутер Mikrotik Routerboard 3011, построенный на 32-битном чипе Qualcomm IPQ8064, и телевизионная приставка Wetek Core2 (чип Amlogic S912).

Память и системные процессы

С выходом версии 5.9 в Linux появилась поддержка инструкции FSGSBASE для x86-совместимых процессоров. Она позволяет запущенным приложениям обращаться к регистрам процессора FS/GS напрямую из пользовательского пространства, минуя посредничество ядра. Поддержка FSGSBASE может повысить производительность процессоров Intel и AMD, особенно в таких областях как переключение контекста.

Также разработчиками добавлена поддержка сжатия образа ядра с применением алгоритма Zstandard (zstd) Яна Колле (Yann Collet). В сравнении с lzma2, используемом для этих целей по умолчанию, zstd обеспечивает более быструю распаковку образа ядра, тем самым сокращая общее время его загрузки.

Диски и файловые системы

Для SSD стандарта NVMe в ядро добавлена поддержка команд зонирования накопителя (ZNS). Применение ZNS позволяет программным способом управлять размещением данных на накопителе. Данная технология, как отмечает Phoronix, позволяет добиться более низкой задержки при считывании/записи данных, повышенной пропускной способности, а также увеличить срок службы накопителя. При ее использовании ПО, а не исключительно контроллер накопителя могут определять, в какой именно диапазон блоков устройства попадут записываемые данные.

В Linux 5.9 реализована поддержка расширенных атрибутов файлов (xattr) на уровне сервера и клиента NFSv4. Оптимизированы файловые системы Btrfs, XFS и Ext4. В частности, улучшена скорость монтирования крупных разделов Ext4 за счет упреждающей загрузки битовых карт распределения блоков.

Дмитрий Степанов