linux/fs/f2fs
Jaegeuk Kim ac5d156c78 f2fs: modify the number of issued pages to merge IOs
When testing f2fs on an SSD, I found some 128 page IOs followed by 1 page IO
were issued by f2fs_write_node_pages.
This means that there were some mishandling flows which degrades performance.

Previous f2fs_write_node_pages determines the number of pages to be written,
nr_to_write, as follows.

1. The bio_get_nr_vecs returns 129 pages.
2. The bio_alloc makes a room for 128 pages.
3. The initial 128 pages go into one bio.
4. The existing bio is submitted, and a new bio is prepared for the last 1 page.
5. Finally, sync_node_pages submits the last 1 page bio.

The problem is from the use of bio_get_nr_vecs, so this patch replace it
with max_hw_blocks using queue_max_sectors.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
2013-04-30 12:07:32 +09:00
..
acl.c f2fs: avoid null dereference in f2fs_acl_from_disk 2013-01-04 09:46:27 +09:00
acl.h f2fs: adjust kernel coding style 2012-12-11 13:43:42 +09:00
checkpoint.c f2fs: check truncation of mapping after lock_page 2013-04-29 11:19:32 +09:00
data.c f2fs: check truncation of mapping after lock_page 2013-04-29 11:19:32 +09:00
debug.c f2fs: remove useless #include <linux/proc_fs.h> as we're now using sysfs as debug entry. 2013-04-30 12:07:32 +09:00
dir.c f2fs: give a chance to merge IOs by IO scheduler 2013-04-26 10:35:10 +09:00
f2fs.h f2fs: enhance alloc_nid and build_free_nids flows 2013-04-29 11:19:21 +09:00
file.c f2fs: check truncation of mapping after lock_page 2013-04-29 11:19:32 +09:00
gc.c f2fs: remove useless #include <linux/proc_fs.h> as we're now using sysfs as debug entry. 2013-04-30 12:07:32 +09:00
gc.h f2fs: avoid frequent background GC 2013-04-26 10:35:03 +09:00
hash.c f2fs: unify string length declarations and usage 2012-12-28 11:27:53 +09:00
inode.c f2fs: add tracepoints for sync & inode operations 2013-04-23 15:30:27 +09:00
Kconfig f2fs: resolve build failures 2012-12-11 13:43:43 +09:00
Makefile f2fs: update Kconfig and Makefile 2012-12-11 13:43:42 +09:00
namei.c f2fs: add a tracepoint on f2fs_new_inode 2013-04-29 10:52:01 +09:00
node.c f2fs: modify the number of issued pages to merge IOs 2013-04-30 12:07:32 +09:00
node.h f2fs: fix the logic of IS_DNODE() 2013-04-09 18:21:24 +09:00
recovery.c f2fs: introduce a new global lock scheme 2013-04-09 18:21:18 +09:00
segment.c f2fs: modify the number of issued pages to merge IOs 2013-04-30 12:07:32 +09:00
segment.h f2fs: modify the number of issued pages to merge IOs 2013-04-30 12:07:32 +09:00
super.c f2fs: remove useless #include <linux/proc_fs.h> as we're now using sysfs as debug entry. 2013-04-30 12:07:32 +09:00
xattr.c f2fs: introduce a new global lock scheme 2013-04-09 18:21:18 +09:00
xattr.h f2fs: adjust kernel coding style 2012-12-11 13:43:42 +09:00