Linux 6.1 поставляється з Rust, покращеною продуктивністю, драйверами тощо

Ядро Linux

Ядро Linux

Через два місяці розвитку, Лінус Торвальдс оголосив про вихід нової версії ядра Linux 6.1, в якому серед найбільш помітних змін: підтримка розробки драйверів і модулів на мові Rust, модернізація механізму визначення використовуваних сторінок пам'яті, спеціальний менеджер пам'яті для програм BPF, система діагностики проблем пам'яті KMSAN, механізм захисту KCFI (Kernel Control -Flow Integrity), впровадження дерева структури Maple.

Нова версія отримав 15115 2139 виправлень від XNUMX розробників, розмір патча становить 51 Мб, що приблизно в 2 рази менше, ніж розмір патчів ядра 6.0 і 5.19.

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

У цій представленій новій версії ядра ми можемо це знайти додана можливість використовувати Rust як другу мову для розробки драйверів і модулів ядра. Основна причина підтримки Rust полягає в полегшенні написання високоякісних безпечних драйверів пристроїв шляхом зменшення ймовірності помилок пам’яті.

Підтримку Rust вимкнено за замовчуванням і не спричиняє включення Rust як обов’язкову залежність збірки ядра. Наразі ядро ​​прийняло скорочену мінімальну версію виправлення, яка була зменшена з 40 до 13 XNUMX рядків коду та містить лише мінімальний обсяг, достатній для створення простого модуля ядра, написаного на Rust.

В майбутньому, планується поступове розширення наявного функціоналу, перенесення інших змін із гілки Rust-for-Linux. Паралельно розробляються проекти з використання запропонованої інфраструктури для розробки дискових контролерів NVMe, мережевого протоколу 9p і графічного процесора Apple M1 на Rust.

Ще одна помітна зміна в AArch64, RISC-V і LoongArch з EFI, де реалізована можливість безпосереднього завантаження стислих образів ядраs, крім того, що вони додали драйвери для завантаження, запуску та завантаження образів ядра, викликається безпосередньо з EFI zboot.

Також додано драйвери для встановлення та видалення протоколів із бази даних протоколів EFI. Раніше розпакування виконувалося окремим завантажувачем, але тепер це може зробити драйвер у самому ядрі: образ ядра побудований як програма EFI.

частина патчів було прийнято з реалізацією моделі керування пам'яттю різного рівня, що дозволяє розділяти банки пам'яті з різними характеристиками продуктивності. Наприклад, сторінки, які часто використовуються, можуть зберігатися в найшвидшій пам’яті, тоді як сторінки, які використовуються рідше, можуть зберігатися у відносно повільній пам’яті. Ядро 6.1 застосовує механізм визначення того, чи сторінки, що активно використовуються, знаходяться в повільній пам’яті, щоб перемістити їх у швидку пам’ять, і реалізує загальну концепцію рівнів пам’яті та їх відносної продуктивності.

На додаток до цього ми також можемо знайти це додано в підсистему БНФ можливість створення «деструктивних» програм БНФ спеціально розроблений для ініціювання збою за допомогою виклику crash_kexec(). Такі програми BPF можуть знадобитися для цілей налагодження, щоб ініціювати створення дампа пам’яті в певний час. Для доступу до руйнівних операцій під час завантаження програми BPF потрібно вказати прапор BPF_F_DESTRUCTIVE, встановити sysctl kernel.destructive_bpf_enabled і встановити права CAP_SYS_BOOT.

були зробленіo Значна оптимізація продуктивності файлової системи BtrfsКрім усього іншого, на порядки зросла продуктивність операцій fiemap і lseek (перевірка спільних розширень прискорилася в 2-3 рази, а зміна позиції у файлах прискорилася в 1.3-4 рази). Крім того, прискорено журналювання inode для каталогів (збільшення продуктивності на 25% і зменшення затримки на 21% у dbench), покращено буферизований ввід-вивід і зменшено споживання пам’яті.

Ext4 додає оптимізацію продуктивності пов’язані з журналюванням і операцією лише для читання, вилучено підтримку застарілих атрибутів noacl і nouser_xattr, також у EROFS (розширена файлова система лише для читання), розроблена для використання на розділах лише для читання, реалізована можливість зберігання набору дублікатів даних у різних файлах системи.

З інші помітні зміни:

  • Додано підтримку аудіопідсистем, реалізованих у процесорах Apple Silicon, Intel SkyLake і Intel KabyLake.
  • Аудіоконтролер HDA CS35L41 підтримує сплячий режим.
  • Додана підтримка контролерів AHCI SATA, які використовуються в Baikal-T1 SoC.
  • Додано підтримку чіпів Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, інтегроване підключення), Realtek RTL8852C, RTW8852AE та RTL8761BUV (Edimax BT-8500).
  • Додано драйвери для клавіатури PinePhone, сенсорних панелей InterTouch (ThinkPad P1 G3), адаптивного контролера X-Box, контролера польоту PhoenixRC, автомобільного контролера VRC-2, контролера DualSense Edge, панелей керування IBM, XBOX One Elite, планшетів XP-PEN Deco Pro S та Intuos Pro small (PTH-460).
  • Додано драйвер для криптографічних прискорювачів Aspeed HACE (Hash and Crypto Engine).
  • Додано підтримку вбудованих контролерів Intel Meteor Lake Thunderbolt/USB4.
  • Додана підтримка смартфонів Sony Xperia 1 IV, Samsung Galaxy E5, E7 і Grand Max, Pine64 Pinephone Pro.
  • ARM SoC, сумісний з AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 і RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. Інформація про SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom і NXP.

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


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.