Внесение изменений в драйвер файловой системы exFAT для Linux привело к существенному ускорению процесса загрузки. Патч, добавленный в очередь разработки, оптимизирует время загрузки битовой карты распределения. В scenarios с небольшими размерами кластеров на разделах большого объема это может ускорить загрузку приблизительно в 16 раз.
Разработчик exFAT с открытым исходным кодом Намджэ Чон добился впечатляющей оптимизации, внеся патч в ветку «dev» exfat.git. Патч оптимизирует время загрузки растрового изображения распределения, который ранее был весьма медленным при малом размере кластера на больших разделах.
Для решения этой проблемы патч использует функцию sb_breadahead() для чтения битовой карты распределения, что существенно сокращает время монтирования. Эксперименты с разделом объемом около 4 ТБ (размер кластера 2 КБ) показали впечатляющие результаты:
Без патча:
- Реальное время: 0 м 41,746 с
- Пользовательское время: 0 м 0,011 с
- Системное время: 0 м 0,000 с
С патчем:
- Реальное время: 0 м 2,525 с
- Пользовательское время: 0 м 0,008 с
- Системное время: 0 м 0,008 с
При отсутствии непредвиденных обстоятельств патч планируется включить в ядро Linux 6.18 к концу года.