linux_old1/fs/f2fs
Fan Li 63a0b7cb33 f2fs: merge pages with the same sync_mode flag
Previously f2fs submits most of write requests using WRITE_SYNC, but f2fs_write_data_pages
submits last write requests by sync_mode flags callers pass.

This causes a performance problem since continuous pages with different sync flags
can't be merged in cfq IO scheduler(thanks yu chao for pointing it out), and synchronous
requests often take more time.

This patch makes the following modifies to DATA writebacks:

1. every page will be written back using the sync mode caller pass.
2. only pages with the same sync mode can be merged in one bio request.

These changes are restricted to DATA pages.Other types of writebacks are modified
To remain synchronous.

In my test with tiotest, f2fs sequence write performance is improved by about 7%-10% ,
and this patch has no obvious impact on other performance tests.

Signed-off-by: Fan Li <fanofcode.li@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
2013-12-23 10:18:06 +09:00
..
Kconfig f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control 2013-10-29 15:43:01 +09:00
Makefile f2fs: update Kconfig and Makefile 2012-12-11 13:43:42 +09:00
acl.c f2fs: fix a deadlock during init_acl procedure 2013-10-28 13:39:09 +09:00
acl.h f2fs: fix a deadlock during init_acl procedure 2013-10-28 13:39:09 +09:00
checkpoint.c f2fs: add unlikely() macro for compiler more aggressively 2013-12-23 10:18:06 +09:00
data.c f2fs: merge pages with the same sync_mode flag 2013-12-23 10:18:06 +09:00
debug.c f2fs: replace the debugfs_root with f2fs_debugfs_root 2013-12-23 10:18:05 +09:00
dir.c f2fs: add unlikely() macro for compiler optimization 2013-12-23 10:18:06 +09:00
f2fs.h f2fs: merge pages with the same sync_mode flag 2013-12-23 10:18:06 +09:00
file.c f2fs: add unlikely() macro for compiler more aggressively 2013-12-23 10:18:06 +09:00
gc.c f2fs: merge pages with the same sync_mode flag 2013-12-23 10:18:06 +09:00
gc.h f2fs: optimize gc for better performance 2013-09-05 13:50:32 +09:00
hash.c f2fs: unify string length declarations and usage 2012-12-28 11:27:53 +09:00
inode.c f2fs: add an option to avoid unnecessary BUG_ONs 2013-10-29 15:44:38 +09:00
namei.c f2fs: fix writing incorrect orphan blocks 2013-10-08 10:19:28 +09:00
node.c f2fs: add unlikely() macro for compiler more aggressively 2013-12-23 10:18:06 +09:00
node.h f2fs: fix the use of XATTR_NODE_OFFSET 2013-08-09 14:57:56 +09:00
recovery.c f2fs: add unlikely() macro for compiler more aggressively 2013-12-23 10:18:06 +09:00
segment.c f2fs: merge pages with the same sync_mode flag 2013-12-23 10:18:06 +09:00
segment.h f2fs: add unlikely() macro for compiler optimization 2013-12-23 10:18:06 +09:00
super.c f2fs: add unlikely() macro for compiler more aggressively 2013-12-23 10:18:06 +09:00
xattr.c f2fs: add unlikely() macro for compiler more aggressively 2013-12-23 10:18:06 +09:00
xattr.h f2fs: support the inline xattrs 2013-08-26 20:15:23 +09:00