Після двох місяців розробки, Лінус Торвальдс оголосив про випуск ядра Linux 6.12, версія, в якій Особливо виділяється можливість активації режиму реального часу, додавання sched_ext, щоб дозволити створення планувальників ЦП за допомогою eBPF, і механізм, який генерує QR-коди в критичних ситуаціях.
Linux 6.12 містить 14,607 XNUMX виправлень, Їх додали більше 507,913 XNUMX рядків коду та усунення 234,083 XNUMX. Хоча патч менший порівняно з попередніми версіями, він представляє безпрецедентну оптимізацію.
Основні нові функції Linux 6.12
Зараз ядро Linux можна створити за допомогою параметра PREEMPT_RT iінтегровано, що усуває потребу у зовнішніх латках для роботи в режимі реального часу. Це було досягнуто завдяки включенню підтримки у функцію printk. PREEMPT_RT і є доступний на таких архітектурах, як x86, x86_64, ARM64 і RISC-V.
У збірці, Підтримку компілятора Clang було розширено до стандартної бібліотеки nolibc, можливість оптимізації, такої як оптимізація часу підключення (LTO). Це також додано систему відстеження дзвінків, який зберігає інформацію про налагодження в пам’яті після перезавантаження, полегшуючи аналіз після збою.
З боку Rust-for-Linux, це продовжує розвиватися з новими модулями, такими як list і rbtree для пов’язаних списків і червоно-чорного дерева. Крім того, підтримку було розширено в таких ключових областях, як ініціалізація, синхронізація та обробка помилок. Можна скомпілювати ядро за допомогою Rust, зберігаючи розширений захист, такий як Spectre, і налагодження за допомогою KASAN або kCFI. Крім того, інтегровано драйвер Ethernet PHY, написаний мовою Rust.
Ще одна новинка Що виділяється в цій новій версії ядра Linux 6.12, так це введення механізм sched_ext (SCX), що дозволяє використовувати eBPF для створення власних планувальників ЦП. За допомогою SCX розробники можуть створювати динамічні планувальники, які оптимізують виконання завдань на основі стану системи та конкретних потреб додатків, полегшуючи експерименти та впровадження стратегій у виробничих середовищах.
також SCHED_DEADLINE інтеграцію сервера завершено, більш ефективне рішення щоб уникнути монополізації ЦП високопріоритетними завданнями, покращення розподілу ресурсів для завдань із низьким пріоритетом. Крім того, планувальник CFS було замінено на новий EEVDF (Earliest Eligible Virtual Deadline First), який більш справедливо розподіляє ресурси процесора та усуває потребу в ручних налаштуваннях, зменшуючи затримки у критичних завданнях.
Контролер Паніка DRM, відповідальний за обробку надзвичайних ситуацій у ядрі, тепер ви можете відобразити візуальний звіт із логотипами та QR-кодами включаючи стислі діагностичні дані. Ці QR-коди полегшують аналіз помилок, дозволяючи користувачам перенаправлятися на сторінки, налаштовані дистрибутивами для повідомлення про проблеми.
Про ARM, додана підтримка розширення POE (Permission Overlay Extension), який вмикає такі механізми, як ключі захисту пам’яті щоб обмежити доступ до певних областей пам'яті без необхідності змінювати таблиці сторінок. Крім того, оптимізація системного виклику getrandom() за допомогою vDSO збільшила швидкість генерації випадкових чисел до 15 разів на архітектурах Loongarch, ARM64, PowerPC і s390.
Un новий драйвер USB дозволяє використовувати протокол 9pfs для передачі даних між USB-пристроями шляхом монтування файлових систем 9p. Це особливо корисно на вбудованих пристроях, надаючи ефективну альтернативу NFS для завантаження кореневих розділів.
Підсистема io_uring додав підтримку абсолютних тайм-аутів, активується в певний час на основі системного годинника. Це покращує контроль над асинхронними операціями, забезпечуючи більшу точність їх виконання.
для бібліотеки libcpupower, включені файли створення посилань за допомогою SWIG, що дозволяє використовувати такі мови, як Python, для розширення його функціональності. Крім того, було вдосконалено утиліту cpuidle, яка тепер може вимірювати мінімальний час простою, необхідний для виправдання витрат на енергію переходу.
В області мереж, один Найпомітнішими вдосконаленнями є механізм TCP для пам'яті пристрою, яка дозволяє пряму передачу даних між пам'яттю периферійних пристроїв і мережею, не проходячи через центральний процесор, досягаючи помітної ефективності. Крім того, можливості численних контролерів Ethernet і WiFi, таких як iwlwifi від Intel і rtw89 від RealTek, були розширені додатковою підтримкою чіпів WiFi 6 і передових стандартів IEEE. Для IPv6 була представлена нова функція для оптимізації розподілу адрес за допомогою DHCPv6-PD, тоді як MPTCP отримав покращення в маршрутизації та виявленні втрати трафіку.
У апаратній підтримці, Додано постійну підтримку AMD RDNA4 у драйвері AMDGPU і вдосконалення драйвера Xe DRM для графічних процесорів Intel Xe. Також додано Підтримка процесорів Xeon Granite Rapids і нові платформи ARM, включаючи Snapdragon X Elite SoC.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями в наступне посилання.