Як і очікувалося, Лінус Торвальдс звільнив агов 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 року.