RE: [PATCH] exfat: improve performance of exfat_free_cluster when using dirsync mount option

From: Sungjong Seo
Date: Thu Jan 07 2021 - 01:24:24 EST


> 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@xxxxxxxxx>

Looks good.
Thanks for your work!

Acked-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx>