• Hyeongseok Kim's avatar
    exfat: improve performance of exfat_free_cluster when using dirsync mount option · f728760a
    Hyeongseok Kim authored
    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: default avatarHyeongseok Kim <hyeongseok@gmail.com>
    Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
    Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
    f728760a
exfat_fs.h 16.9 KB