Daca folosesti sistemul de fisiere exFAT pentru Linux , exista o optimizare semnificativa pentru stergerea fisierelor cu setul de optiuni de montare „dirsync”. exFAT pentru Linux 5.12 ar trebui sa poata sterge fisierele mari mult mai repede atunci când ruleaza cu optiunea de montare „dirsync”. Îmbunatatirea stergerii fisierelor va creste odata cu cresterea dimensiunii fisierului.
Patch-ul este pus in coada in arborele de dezvoltare al driverului exFAT. Reducerea timpului de stergere a fisierelor se realizeaza cu mai putin de 40 de linii de cod , (bitmap-ul de alocare a cluster-ului este actualizat doar atunci când se modifica indexul tampon).
O veste bunapentru cei care utilizeaza exFAT pe Linux cu „dirsync” activ, aveti timpii de stergere mult mai rapizi , odata cu kernel-ul Linux 5.12.
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>