RE: [PATCH] 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:0Writes Requeued:0 > > Reads Completed: 0,0KiB Writes Completed: 32775, > 16387KiB > > Read Merges: 0,0KiB Write Merges: 0, > 0KiB > > IO unplugs:2Timer 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:0Writes Requeued:0 > > Reads Completed: 0,0KiB Writes Completed: 13, > 6KiB > > Read Merges: 0,0KiB Write Merges: 0, > 0KiB > > IO unplugs:1Timer unplugs: 0 > > > > Signed-off-by: Hyeongseok Kim > > Looks good. > Thanks for your work! > > Acked-by: Sungjong Seo Applied. Thanks!
RE: [PATCH] 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 Looks good. Thanks for your work! Acked-by: Sungjong Seo