Повышение производительности Btrfs в ядре Linux 6.17

Для включения в будущее ядро 6.17 предложены оптимизации и новые возможности, повышающие производительность Btrfs:

  • Экспериментальная поддержка больших фолиантов страниц памяти (large folios). Ожидается, что изменение позволит снизить накладные расходы и повысить производительность ряда операций. В данный момент возможность технически готова к широкому использованию, но не получила достаточно тестирования для объявления её стабильной.
  • Кэширование запросов к битовым картам распределения свободного места. В тестах с созданием пустых файлов производительность операций выросла на 20%. Также отмечены иные улучшения производительности в сценариях с высокой нагрузкой по части метаданных.
  • Улучшена работа упреждающего чтения в системах, применяющих сжатие данных.
  • Обеспечено более плотное размещение ключей в структуре XArray, что повышает компактность хранению узлов дерева экстентов и позволяет сократить число конечных узлов на 50-70%.

Дополнительно отмечаются изменения в ioctl дефрагментации и активация ранее разработанного механизма предотвращения разрушения файловых систем, ограничивающего запись в блочное устройство с примонтированной ФС.

Release. Ссылка here.