Linux's exFAT File-System Driver Optimization Leads To 16.5x Speedup For Loading Time
([Linux Storage] 101 Minutes Ago
Faster exFAT)
- Reference: 0001573320
- News link: https://www.phoronix.com/news/exFAT-Optimize-Bitmap-Loading
- Source link:
A patch queued up into the Linux exFAT driver's development tree optimizes the allocation bitmap loading time. For cases of small cluster sizes on large partitions this can yield around 16x faster loading times.
Open-source exFAT file-system developer Namjae Jeon has a very nice optimization on the way to the Linux kernel. He explains with [1]this patch now in the exfat.git "dev" branch:
exfat: optimize allocation bitmap loading time
Loading the allocation bitmap is very slow if user set the small cluster size on large partition.
For optimizing it, This patch uses sb_breadahead() read the allocation bitmap. It will improve the mount time.
The following is the result of about 4TB partition(2KB cluster size) on my target.
without patch:
real 0m41.746s
user 0m0.011s
sys 0m0.000s
with patch:
real 0m2.525s
user 0m0.008s
sys 0m0.008s
Barring any issues from coming up, the patch in turn will likely be submitted for the Linux 6.18 merge window later in the year.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat.git/commit/?h=dev&id=08326a456445b4ef13d9bc20980db674fb0c2d18
Open-source exFAT file-system developer Namjae Jeon has a very nice optimization on the way to the Linux kernel. He explains with [1]this patch now in the exfat.git "dev" branch:
exfat: optimize allocation bitmap loading time
Loading the allocation bitmap is very slow if user set the small cluster size on large partition.
For optimizing it, This patch uses sb_breadahead() read the allocation bitmap. It will improve the mount time.
The following is the result of about 4TB partition(2KB cluster size) on my target.
without patch:
real 0m41.746s
user 0m0.011s
sys 0m0.000s
with patch:
real 0m2.525s
user 0m0.008s
sys 0m0.008s
Barring any issues from coming up, the patch in turn will likely be submitted for the Linux 6.18 merge window later in the year.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat.git/commit/?h=dev&id=08326a456445b4ef13d9bc20980db674fb0c2d18
phoronix