Linux 6.8 надходить із великими покращеннями підтримки, драйверів тощо

Тукс, талісман ядра Linux

Ядро Linux є основою операційних систем (ОС) Linux і є основним інтерфейсом між апаратним забезпеченням комп’ютера та його процесами.

Минулого тижня Лінус Торвальдс оголосив про загальну доступність нового ядра Linux версії 6.8, релізу, розробка якого тривала кілька місяців і який зазнав деяких затримок через більшу, ніж зазвичай, кількість збірок. Цей реліз включає кілька нових функцій, таких як підтримка процесора Broadcom BCM2712 у Raspberry Pi 5, технологія зменшення діапазону Wi-Fi RFI (WBRF) на основі ACPI від AMD , новий графічний драйвер Intel Xe DRM та підтримка fscrypt у CephFS, серед іншого.

Одним із найважливіших моментів є початкова підтримка Rust архітектури LoongArch та здатність Rust розробляти мережеві PHY-драйвери. Хоча це не такий великий реліз, як Linux 6.7, Linux 6.8 реалізує значну кількість змін та покращень.

Основні нові функції Linux 6.8

У цій новій версії Linux 6.8 підсистему Zswap було покращено завдяки можливості примусового розвантаження неотриманих "холодних" сторінок пам'яті, які, ймовірно, залишаться невикористаними, активуючи це в ситуаціях дефіциту оперативної пам'яті. Zswap працює шляхом кешування видалених сторінок у розділі swap, стискаючи їх в оперативну пам'ять, коли це можливо, замість того, щоб скидати їх нестиснутими на диск. Крім того, Zswap вводить новий режим, який вимикає запис на фактичний розділ swap, якщо спроба запису не вдається, а також запобігає розвантаженню сторінок, які вже знаходяться в пулі Zswap на розділі swap.

Щодо планувальника завдань, інтегровано механізм сервера SCHED_DEADLINE, який вирішує проблему недовикористання ресурсів процесора звичайними завданнями, коли процесор монополізований завданнями з високим пріоритетом (реального часу). Раніше ядро ​​використовувало механізм обмеження реального часу, який резервував 5% процесора для завдань з низьким пріоритетом, залишаючи 95% для завдань реального часу.

Linux 6.8 тепер містить драйвер Xe DRM, розроблений для графічних процесорів на базі архітектури Intel Xe, що використовується у відеокартах сімейства Intel Arc та інтегрованих графіках, починаючи з процесорів Tiger Lake. Цей драйвер Xe не залежить від коду, який підтримує старіші платформи, і зосереджується на оптимальній роботі новіших чіпів. Він використовує перероблену архітектуру, яка краще використовує загальні компоненти підсистеми DRM та драйвера i915, які не прив'язані до конкретних графічних процесорів.

Драйвер Nouveau налаштовано на використання функцій прошивки GSP за замовчуванням на графічних процесорах NVIDIA на базі Turing та Ampere. Це означає, що операції ініціалізації та керування графічним процесором виконуються окремим мікроконтролером GSP, а не безпосередньо програмуються операції для взаємодії з комп'ютером.

Зі свого боку, драйвер AMDGPU покращив свою підтримку завдяки включенню ACPI WBRF та VPE DPM, змінам в обробці каналів PCIe, використанню 64-бітних порядкових номерів у чергах синхронізації, включенню специфічних для AMD механізмів управління кольором та вирішенню проблем, пов'язаних із режимом сну.

Крім того, додано підтримку ігрових контролерів NSO (Nintendo Switch Online), включаючи варіанти старіших контролерів SNES, Genesis та N64, адаптовані для Nintendo Switch. Також додано контролер для геймпадів Adafruit Seesaw, а на контролері xpad увімкнено сумісність з контролерами Lenovo Legion Go.

Варто також зазначити, що було введено новий режим блокування прямого запису на блокові пристрої зі змонтованими файловими системами. Коли цей режим увімкнено, користувач root не зможе вносити зміни до файлової системи, маніпулюючи самим блоковим пристроєм. Важливо зазначити, що цей режим вимкнено за замовчуванням і його необхідно вказати за допомогою параметра BLK_DEV_WRITE_MOUNTED під час асемблювання, щоб його увімкнути.

Інші помітні зміни включають :

  • Додано початкову реалізацію драйвера для графічного процесора Broadcom VideoCore 7.1, який використовується в платах Raspberry Pi 5.
  • Додано драйвер для графічних процесорів серії PowerVR 6 на основі мікроархітектури Rogue Imagination Technologies.
  • Додано підтримку контролерів Thunderbolt/USB4, інтегрованих у мікросхеми на основі мікроархітектури Intel Lunar Lake.
  • AMD внесла зміни, пов'язані з підтримкою майбутніх серій процесорів на базі нової мікроархітектури Zen 5.
  • Було додано системні виклики listmount() і statmount(), що дозволяє отримувати детальну інформацію про змонтовані файлові системи з простору користувача.
  • У файловій системі XFS продовжується робота над можливістю використання утиліти fsck для перевірки та вирішення виявлених проблем в режимі онлайн без демонтування файлової системи.
  • Ext4 реалізував виклик dioread_nolock для блоків, менших за сторінку пам’яті, покращуючи продуктивність шляхом усунення непотрібних блокувань.
  • Btrfs додав підтримку прапора монтування «nospace_cache», щоб вимкнути вільний кеш блоків.
  • AppArmor перейшов на алгоритм SHA-256 для перевірки правил, замінивши попередні хеші SHA-1.
  • Функцію strlcpy(), яка була включена в Glibc 2.38 C, було видалено з ядра. Ця функція є альтернативою strncpy() із захистом від переповнення буфера.
  • У KVM додано підтримку підсистеми guest_memfd (спершу гостьова пам’ять), яка забезпечує функції керування пам’яттю для організації конфіденційних обчислень у гостьовому середовищі.

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


Додати як пріоритетне джерело в Google