Найти в Дзене
[LINKOD]

Состоялся выпуск ядра Linux 6.9

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.9. Среди основных изменений: добавлен модуль dm-vdo для дедупликации и сжатия блочных устройств, внедрена функция прямого доступа к файлам в FUSE, появилась возможность создания pidfd для отдельных потоков, добавлен механизм BPF-токенов, поддержка Rust на системах ARM64, перевод ФС Ext2 в разряд устаревших, удаление старого драйвера NTFS, поддержка механизма Intel FRED.
В новую версию принято 15680 исправлений от 2106 разработчиков, размер патча - 54 МБ. Около 42% всех изменений связаны с драйверами устройств, 17% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 7% - с файловыми системами и 4% c внутренними подсистемами ядра.
Основные новшества в ядре 6.9:
Дисковая подсистема, ввод/вывод и файловые системы:
Добавлен новый обработчик dm-vdo, позволяющий на базе существующих блочных устройств реализовать виртуальное блочное устройство с дедупли

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.9. Среди основных изменений: добавлен модуль dm-vdo для дедупликации и сжатия блочных устройств, внедрена функция прямого доступа к файлам в FUSE, появилась возможность создания pidfd для отдельных потоков, добавлен механизм BPF-токенов, поддержка Rust на системах ARM64, перевод ФС Ext2 в разряд устаревших, удаление старого драйвера NTFS, поддержка механизма Intel FRED.

В новую версию принято 15680 исправлений от 2106 разработчиков, размер патча - 54 МБ. Около 42% всех изменений связаны с драйверами устройств, 17% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 7% - с файловыми системами и 4% c внутренними подсистемами ядра.

Основные новшества в ядре 6.9:

Дисковая подсистема, ввод/вывод и файловые системы:
Добавлен новый обработчик dm-vdo, позволяющий на базе существующих блочных устройств реализовать виртуальное блочное устройство с дедупликацией и сжатием данных.
В подсистеме FUSE добавлена начальная реализация режима "passthrough", позволяющего напрямую на уровне ядра получать данные файлов.
Переведён драйвер с реализацией файловой системы Ext2 в категорию устаревших.
Удалён старый драйвер файловой системы NTFS.
Добавлена поддержка маппинга идентификаторов пользователей примонтированных файловых систем.
Для администраторов предоставлена возможность очистки состояний открытия и блокировки файлов в NFSv4.
Продолжен перевод функций на использование фолиантов страниц памяти в Btrfs.
Продолжена работа над реализацией возможности применения утилиты fsck для проверки и исправления выявленных проблем в online-режиме в XFS.
Добавлен флаг RWF_NOAPPEND в системный вызов pwritev2().
Добавлены новые ioctl-команды для получения UUID-идентификатора файловой системы и определения местоположения в /sys/fs примонтированной ФС.
Файловые системы efs, qnx4 и coda переведены на использование нового API монтирования разделов.
Улучшена реализация операций с файлами, выполняемых без учёта регистра символов.

Память и системные сервисы:
Реализована поддержка механизма Intel FRED для повышения эффективности и надёжности доставки информации о низкоуровневых событиях.
Добавлена возможность оптимизации доступа к данным отдельных ядер CPU через использования в коде ядра именованных адресных пространств.
В функцию pidfd_open() добавлен флаг PIDFD_THREAD, позволяющий создавать pidfd для отдельных потоков.
В подсистему BPF добавлен механизм BPF-токенов.
Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра.
Добавлена возможность усечения файлов в подсистеме io_uring.
Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра.
Реализована возможность обновления модели потребления энергии ядра во время работы.
Для систем ARM64 реализована поддержка непрерывных записей PTE.
Приняты патчи для повышения производительности подсистемы управления памятью.
Для систем RISC-V реализована поддержка системного вызова membarrier().
В драйвер amd-pstate добавлена возможность использования информации о приоритетных ядах CPU.
Подняты требования к версии LLVM/Clang для сборки ядра.
В механизме "User trace events" добавлена поддержка экспорта сведений о событии в различных форматах.
В механизме трассировки вызова функций добавлена возможность отслеживания состояния входящих аргументов функции при трассировке