Для ядра Linux предложен новый вариант драйвера exFAT

Корейский разработчик Park Ju Hyung, специализирующийся на портировнии прошивок Android для различных устройств, представил новую редакцию драйвера для файловой системы exFAT — exfat-linux, которая является ответвлением от драйвера «sdFAT», разработанного компанией Samsung. В настоящее время в staging-ветку ядра Linux уже добавлен драйвер exFAT от Samsung, но он основан на кодовой базе старой ветки драйвера (1.2.9). В настоящее время Samsung использует в своих смартфонах полностью иной вариант драйвера «sdFAT» (2.2.0), ответвлением от которого и стала разработка Park Ju Hyung.

Кроме перехода на актуальную кодовую базу предложенный драйвер exfat-linux отличается удалением специфичных для Samsung модификаций, таких как наличие кода для работы с FAT12/16/32 (данные ФС поддерживаются в Linux отдельными драйверами) и встроенный дефрагментатор. Удаление данных компонентов позволило сделать драйвер переносимым и адаптировать его для штатного ядра Linux, а не только для ядер, применяемых в Android-прошивках Samsung.

Разработчиком также проведена работа по упрощению установки драйвера. Пользователи Ubuntu могут установить его из PPA-репозитория, а для остальных дистрибутивов достаточно загрузить код и выполнить «make && make install». Драйвер также может быть собран вместе с ядром Linux, например при подготовке прошивок для Android.

В дальнейшем планируется поддерживать драйвер в актуальном состоянии, перенося изменения из основной кодовой базы Samsung и портируя его для новых выпусков ядра. В настоящее время работа драйвера проверена при сборке с ядрами начиная с 3.4 и заканчивая 5.3-rc на платформах x86 (i386), x86_64 (amd64), ARM32 (AArch32) и ARM64 (AArch64). Автор нового варианта драйвера предложил разработчикам ядра рассмотреть включение нового драйвера в ветку staging в качестве основы для штатного exFAT-драйвера ядра, вместо недавно добавленного устаревшего варианта.

Проведённые тесты производительности показали прирост скорости операций записи при использовании нового драйвера. При размещении раздела в ramdisk: 2173 MB/s против 1961 MB/s при последовательном вводе/выводе, 2222 MB/s против 2160 MB/s при случайном доступе, а при размещении раздела в NVMe: 1832 MB/s против 1678 MB/s и 1885 MB/s против 1827 MB/s. Скорость операций чтения увеличилась в тесте последовательного чтения в ramdisk (7042 MB/s против 6849 MB/s) и случайного чтения в NVMe (26 MB/s против 24 MB/s)

Для ядра Linux предложен новый вариант драйвера exFATДля ядра Linux предложен новый вариант драйвера exFAT

Источник: opennet.ru

Добавить комментарий