Linux 6.1 представляє інфраструктуру Rust та інші нові функції

Linux 6.1

Як і очікувалося, Лінус Торвальдс звільнив агов Linux 6.1. Це нова стабільна версія, яка містить цікаві новини. Як і в кожному з випусків, була включена підтримка нового апаратного забезпечення, але якщо ця версія має увійти в історію через щось, це буде додавання початкової підтримки Rust. Фактичного коду немає, але основа вже тут.

Про це повідомив сам Торвальдс в кандидат на перший випуск Linux 6.1, зокрема, коли він сказав, що "у нас є деякі базові речі, які розроблялися протягом тривалого часу, особливо багатогенна серія LRU VM і початкові каркаси Rust (фактичного коду Rust у ядрі ще немає, але інфраструктура є)». Оскільки стабільна версія вже доступна, настав час поговорити про це його новини.

Основні моменти Linux 6.1

La список новин найбільш помітним є:

  • Процесори:
    • Серед інших нових функцій у коді IBM POWER/PowerPC є KFENCE для 64-розрядної версії.
    • Порт ЦП LoongArch забезпечує перегляд коду TLB/кешу, підтримку QSpinLock, завантаження EFI, підтримку подій perf, обробку Kexec, підтримку eBPF JIT та кілька інших функцій для цієї китайської архітектури ЦП.
    • Підтримка BF16 для процесорів Cortex-A510 припиняється через апаратну проблему, яку неможливо вирішити в Linux.
    • Завдання таблиці сторінок AMD IOMMU v2 як частина апаратної віртуалізації IOMMU AMD vIOMMU для процесорів EPYC 7002 "Rome" і новіших.
    • Звіти про кеш-пам’ять і пам’ять процесора AMD із продуктивністю AMD і новішими процесорами та підтримкою LbrExtV2 для ЦП Zen 4.
    • AMD Platform Management Framework (PMF) було об’єднано для кращого керування теплом/живленням/шумом із пристроями AMD Ryzen наступного покоління.
    • Підтримка нових ARM SoC і різних нових пристроїв ARM.
    • Швидше декодування помилок пам'яті Intel.
    • Виправлення AMD P-State і s2idle для ноутбуків AMD Rembrandt.
    • Підтримка ARM для вимкнення пом’якшення Spectre-BHB під час виконання через високу вартість продуктивності.
  • Графіка та графічні процесори:
    • Увімкнення Intel Meteor Lake продовжено.
    • Покращена робота з мікропрограмним забезпеченням графічного процесора Intel.
    • Різні вдосконалення Intel Arc Graphics DG2/Alchemist.
    • Підтримка групового подання AMDGPU, яка необхідна драйверу RADV Vulkan для належної підтримки сітчастих шейдерів.
    • Підтримка скидання Mode2 для графічних процесорів RDNA2 серії RX 6000.
  • Сховище та файлові системи:
    • Стандартна конфігурація ядра RISC-V допускає декілька форматів образів CD-ROM.
    • Підтримка спільного домену на основі FSCache для EROFS з варіантами використання контейнерів як початковою метою.
    • Виправлення та оптимізація продуктивності EXT4.
    • Значна оптимізація продуктивності для Btrfs та іншої роботи для цієї все частіше використовуваної файлової системи Linux.
    • Підтримка statx() для звіту про пряме вирівнювання вводу-виводу.
  • Інше обладнання:
    • Автоматичне виявлення підтримки Logitech HID++ Hi-Res Scrolling і спроба ввімкнути HID++ для всіх пристроїв Logitech Bluetooth.
    • Помітне доповнення до підтримки звуку з AMD Rembrandt, доданого до програмного коду Sound Open Firmware, нової підтримки звукового співпроцесора AMD «Pink Sardine» і нового драйвера Apple MCA SoC для підтримки звуку на нових пристроях Apple Silicon.
    • WiFi Extremely High Throughput (EHT) і Multi-Link Operation (MLO) підготовка для WiFi 802.11be і WiFi 7.
    • Продовження активації Intel Habana Labs Gaudi2 для цього прискорювача ШІ наступного покоління.
    • Контролер введення для панелі керування IBM.
    • Додано драйвер корпусу клавіатури PINE64 PinePhone (Pro) для введення в Linux.
    • Підтримка Intel Meteor Lake Thunderbolt.
    • Підтримка наскрізного керування потоком USB4 за допомогою мережевого драйвера Thunderbolt ядра Linux.
    • Краще керування «дешевими клонами» контролерів Nintendo.
    • Нові медіа-драйвери та два існуючі драйвери були виведені з сцени.
    • Різні доповнення драйверів апаратного моніторингу.
  • віртуалізація:
    • Тепер Xen підтримує VirtIO на основі гранту для x86_64.
    • Підтримка «безпечного видалення» блоків VirtIO, а також підтримка надання функцій vDPA.
    • Швидший обмін файлами між хостом і гостьовими віртуальними машинами для тих, хто використовує протокол 9P, завдяки значній оптимізації 9P VirtIO.
  • Безпека:
    • Kernel Memory Sanitizer було об’єднано як динамічний детектор помилок пам’яті навколо неініціалізованих значень у коді ядра. Цей KMSAN залежить від інструментарію компілятора, який зараз доступний у LLVM Clang.
    • Linux 6.1 за замовчуванням попереджатиме про відображення ядра W+X, а в майбутньому випуску ядра може взагалі заборонити створення таких відображень.
    • Робота EFI навколо конфіденційних обчислень.
    • Retpolines посилюється, щоб забезпечити INT3 після кожного жорсткого стрибка.
    • SELinux продовжує відмовлятися від підтримки під час виконання.
    • Покращення RNG і криптокоду.
    • Попередження під час виконання для перехресного поля memcpy(), який міг би виловити всі переповнення буфера на основі memcpy за останні кілька років для ядра.
  • інші:
    • Більше очищення коду перед PREEMPT_RT.
    • Покращено обробку інформації про тиск зупинки (PSI), включаючи можливість увімкнути/вимкнути дані PSI на рівні групи.
    • Загальна підтримка стиснутого завантаження EFI.
    • Видалення драйвера високошвидкісного послідовного порту/TTY через IEEE-1394 Firewire.
    • Видалення старого коду a.out завершено.
    • Видалено старий код мережі DECnet.
    • Об’єднано MGLRU для перегляду коду отримання сторінки ядра Linux і покращення взаємодії з користувачем, особливо в системах Linux з обмеженим об’ємом оперативної пам’яті.
    • Linux 6.1 друкує ядро ​​ЦП, де виникає помилка сегментації. Якщо системні адміністратори Linux виявляють, що помилки сегментації постійно виникають на тих самих процесорах/ядрах, це може бути ознакою несправності процесора.
    • Початкову структуру Rust було об’єднано з початковою підтримкою мови програмування Rust. Нові драйвери Rust та інші абстракції підсистеми ядра будуть об’єднані в майбутніх циклах ядра.

Linux 6.1 тепер доступні en kernel.org. Більшість дистрибутивів чекатимуть на перше технічне оновлення для прийняття. Очікується, що це буде реліз LTS 2022 року.