]> git.baikalelectronics.ru Git - kernel.git/commit
f2fs: introduce f2fs_issue_flush to avoid redundant flush issue
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Wed, 2 Apr 2014 06:34:36 +0000 (15:34 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 7 Apr 2014 00:50:58 +0000 (09:50 +0900)
commitee3392bd1db5006593ced1d3afb0a197251a5506
tree5f35f32e27db8deaf248cf1e7a4930aab0822a73
parentf2afd534783806908580ff1a11aa53eb87dd72a6
f2fs: introduce f2fs_issue_flush to avoid redundant flush issue

Some storage devices show relatively high latencies to complete cache_flush
commands, even though their normal IO speed is prettry much high. In such
the case, it needs to merge cache_flush commands as much as possible to avoid
issuing them redundantly.
So, this patch introduces a mount option, "-o flush_merge", to mitigate such
the overhead.

If this option is enabled by user, F2FS merges the cache_flush commands and then
issues just one cache_flush on behalf of them. Once the single command is
finished, F2FS sends a completion signal to all the pending threads.

Note that, this option can be used under a workload consisting of very intensive
concurrent fsync calls, while the storage handles cache_flush commands slowly.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Documentation/filesystems/f2fs.txt
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/segment.c
fs/f2fs/super.c