Ускорение сжатия Zstd
Одной из ключевых особенностей предстоящего релиза Linux 7.4 станет оптимизация работы с прозрачным сжатием данных. Для пользователей, активно использующих алгоритм Zstd в Btrfs, подготовлено улучшение производительности декомпрессии. По данным тестов, прирост скорости составляет около +8 МБ/с на декомпрессию. Это не глобальный пересмотр архитектуры, но заметное улучшение для сценариев, где чтение сжатых данных является узким местом.
Оптимизация блокировок и shrinker
Значительная часть изменений направлена на снижение contention (конкуренции) за блокировки. Разработчики модифицировали код для уменьшения конфликтов вокруг inode extent map lock. Это критически важно для процессов, управляемых shrinker, когда система пытается освободить память, обрабатывая inode без карт экстентов. Ожидаемое сокращение времени выполнения этих операций составляет 10-20%.
Ускорение reflink
Еще одно важное улучшение касается функции reflink (ссылки на данные без дублирования). В Linux 7.4 реализовано переупорядочивание блокировок и оптимизация сброса данных (flushing). Эти изменения призваны ускорить типичные сценарии использования reflink, делая операции клонирования файлов более отзывчивыми в многопоточных нагрузках.
Итоговая таблица улучшений
| Компонент Btrfs | Тип оптимизации | Ожидаемый эффект |
|---|---|---|
| Zstd (декомпрессия) | Алгоритмическое ускорение | +8 МБ/с скорость |
| Inode extent map lock | Снижение contention | Экономия 10-20% времени |
| Reflink | Переупорядочивание блокировок | Ускорение типичных кейсов |
Дополнительные исправления
Помимо производительности, в ветку включены исправления обработки ошибок, общая чистка кода и ряд багфиксов. Полный список изменений доступен в pull-реквесте, подготовленном для мейнлайна. Эти обновления станут частью ядра Linux 7.4, которое продолжает развивать функциональность и стабильность одной из самых популярных файловых систем с копированием при записи (Copy-on-Write).
Источник: Phoronix ↗
