summaryrefslogtreecommitdiffstats
path: root/fs/afs
diff options
context:
space:
mode:
authorHyeongseok Kim <hyeongseok@gmail.com>2021-02-01 10:02:46 +0900
committerNamjae Jeon <namjae.jeon@samsung.com>2021-02-22 09:55:14 +0900
commitf728760aa923f1dd3a4818368dbdbd2c7d63b370 (patch)
tree724e1eaf79e92ec72f0f5d47b315448c47d88504 /fs/afs
parent78c276f5495aa53a8beebb627e5bf6a54f0af34f (diff)
downloadlinux-stable-f728760aa923f1dd3a4818368dbdbd2c7d63b370.tar.gz
linux-stable-f728760aa923f1dd3a4818368dbdbd2c7d63b370.tar.bz2
linux-stable-f728760aa923f1dd3a4818368dbdbd2c7d63b370.zip
exfat: improve performance of exfat_free_cluster when using dirsync mount option
There are stressful update of cluster allocation bitmap when using dirsync mount option which is doing sync buffer on every cluster bit clearing. This could result in performance degradation when deleting big size file. Fix to update only when the bitmap buffer index is changed would make less disk access, improving performance especially for truncate operation. Testing with Samsung 256GB sdcard, mounted with dirsync option (mount -t exfat /dev/block/mmcblk0p1 /temp/mount -o dirsync) Remove 4GB file, blktrace result. [Before] : 39 secs. Total (blktrace): Reads Queued: 0, 0KiB Writes Queued: 32775, 16387KiB Read Dispatches: 0, 0KiB Write Dispatches: 32775, 16387KiB Reads Requeued: 0 Writes Requeued: 0 Reads Completed: 0, 0KiB Writes Completed: 32775, 16387KiB Read Merges: 0, 0KiB Write Merges: 0, 0KiB IO unplugs: 2 Timer unplugs: 0 [After] : 1 sec. Total (blktrace): Reads Queued: 0, 0KiB Writes Queued: 13, 6KiB Read Dispatches: 0, 0KiB Write Dispatches: 13, 6KiB Reads Requeued: 0 Writes Requeued: 0 Reads Completed: 0, 0KiB Writes Completed: 13, 6KiB Read Merges: 0, 0KiB Write Merges: 0, 0KiB IO unplugs: 1 Timer unplugs: 0 Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com> Acked-by: Sungjong Seo <sj1557.seo@samsung.com> Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Diffstat (limited to 'fs/afs')
0 files changed, 0 insertions, 0 deletions