linux/fs/f2fs
Jaegeuk Kim 6b4afdd794 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>
2014-04-07 09:50:58 +09:00
..
acl.c f2fs: avoid RECLAIM_FS-ON-W warning 2014-03-20 22:21:08 +09:00
acl.h f2fs: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
checkpoint.c f2fs: use list_for_each_entry{_safe} for simplyfying code 2014-04-02 09:56:27 +09:00
data.c f2fs: fix error path when fail to read inline data 2014-04-02 09:56:27 +09:00
debug.c f2fs: remove unnecessary threshold 2014-03-20 22:10:09 +09:00
dir.c f2fs: introduce fi->i_sem to protect fi's info 2014-03-20 22:10:11 +09:00
f2fs.h f2fs: introduce f2fs_issue_flush to avoid redundant flush issue 2014-04-07 09:50:58 +09:00
file.c f2fs: introduce f2fs_issue_flush to avoid redundant flush issue 2014-04-07 09:50:58 +09:00
gc.c f2fs: remove the unused ctor argument of f2fs_kmem_cache_create() 2014-03-10 18:45:14 +09:00
gc.h f2fs: add a sysfs entry to control max_victim_search 2014-01-08 13:45:08 +09:00
hash.c f2fs: unify string length declarations and usage 2012-12-28 11:27:53 +09:00
inline.c f2fs: fix error path when fail to read inline data 2014-04-02 09:56:27 +09:00
inode.c f2fs: introduce get_dirty_dents for readability 2014-03-18 12:34:30 +09:00
Kconfig f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control 2013-10-29 15:43:01 +09:00
Makefile f2fs: key functions to handle inline data 2013-12-26 20:40:09 +09:00
namei.c f2fs: introduce fi->i_sem to protect fi's info 2014-03-20 22:10:11 +09:00
node.c f2fs: use list_for_each_entry{_safe} for simplyfying code 2014-04-02 09:56:27 +09:00
node.h f2fs: skip unnecessary node writes during fsync 2014-03-20 22:10:11 +09:00
recovery.c f2fs: use list_for_each_entry{_safe} for simplyfying code 2014-04-02 09:56:27 +09:00
segment.c f2fs: introduce f2fs_issue_flush to avoid redundant flush issue 2014-04-07 09:50:58 +09:00
segment.h f2fs: change reclaim rate in percentage 2014-03-20 22:10:10 +09:00
super.c f2fs: introduce f2fs_issue_flush to avoid redundant flush issue 2014-04-07 09:50:58 +09:00
xattr.c f2fs: avoid unneeded lookup when xattr name length is too long 2014-04-01 18:54:24 +09:00
xattr.h f2fs: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00