summaryrefslogtreecommitdiff
path: root/include/asm-arm/hardware/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorChi Zhiling <chizhiling@kylinos.cn>2026-03-03 11:14:04 +0800
committerNamjae Jeon <linkinjeon@kernel.org>2026-03-05 21:08:21 +0900
commit6ed88c9491d7693c87dd8bfb850c56770310828b (patch)
tree086a27ab1892bd59adb0ea89bbd7937f9bffe5c0 /include/asm-arm/hardware/git@git.tavy.me:linux.git
parentbf1797960c20f3d4dc4e8b6f560ca39692abac56 (diff)
exfat: add block readahead in exfat_chain_cont_cluster
When a file cannot allocate contiguous clusters, exfat converts the file from NO_FAT_CHAIN to FAT_CHAIN format. For large files, this conversion process can take a significant amount of time. Add simple readahead to read all the FAT blocks in advance, as these blocks are consecutive, significantly improving the conversion performance. Test in an empty exfat filesystem: dd if=/dev/zero of=/mnt/file bs=1M count=30k dd if=/dev/zero of=/mnt/file2 bs=1M count=1 time cat /mnt/file2 >> /mnt/file | cluster size | before patch | after patch | | ------------ | ------------ | ----------- | | 512 | 47.667s | 4.316s | | 4k | 6.436s | 0.541s | | 32k | 0.758s | 0.071s | | 256k | 0.117s | 0.011s | Signed-off-by: Chi Zhiling <chizhiling@kylinos.cn> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'include/asm-arm/hardware/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions