Linux 6.1 поставляется с Rust, улучшениями производительности, драйверами и многим другим

Ядро Linux

Ядро Linux

После двух месяцев разработки Линус Торвальдс объявил о выпуске новой версии ядра Linux 6.1, в котором среди наиболее заметных изменений: поддержка разработки драйверов и модулей на языке Rust, модернизация механизма определения используемых страниц памяти, специальный менеджер памяти для программ BPF, система диагностики проблем памяти KMSAN, механизм защиты KCFI (Kernel Control - Flow Integrity), введение дерева структуры клена.

Новая версия получили 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, где реализована возможность прямой загрузки сжатых образов ядра.с, кроме того, что они добавили драйверы для загрузки, запуска и скачивания образов ядра, вызывается непосредственно из EFI zboot.

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

часть патчей был принят с реализацией модели управления памятью различных уровней, которые позволяет использовать отдельные банки памяти с разными характеристиками производительности. Например, часто используемые страницы могут храниться в самой быстрой памяти, а менее часто используемые страницы могут храниться в относительно медленной памяти. Ядро 6.1 использует механизм для определения того, находятся ли интенсивно используемые страницы в медленной памяти, чтобы переместить их в быструю память, и реализует общую концепцию уровней памяти и их относительной производительности.

В дополнение к этому мы также можем найти, что в подсистему BPF добавлена ​​возможность создания "деструктивных" программ BPF специально разработан для запуска аварийного завершения с помощью вызова crash_kexec(). Такие программы BPF могут понадобиться в целях отладки, чтобы инициировать создание дампа памяти в определенное время. Для доступа к деструктивным операциям при загрузке программы BPF необходимо указать флаг BPF_F_DESTRUCTIVE, установить sysctl kernel.destructive_bpf_enabled и установить права CAP_SYS_BOOT.

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

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

Из другие выделяющиеся изменения:

  • Добавлена ​​поддержка аудиоподсистем, реализованных в процессорах Apple Silicon, Intel SkyLake и Intel KabyLake.
  • Аудиоконтроллер HDA CS35L41 поддерживает спящий режим.
  • Добавлена ​​поддержка SATA-контроллеров AHCI, используемых в 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 (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.
  • SoC ARM, совместимый с 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.