Commit e85dc1d5 authored by Ryusuke Konishi's avatar Ryusuke Konishi

nilfs2: enable sync_page method

This adds a missing sync_page method which unplugs bio requests when
waiting for page locks. This will improve read performance of nilfs.

Here is a measurement result using dd command.

Without this patch:

 # mount -t nilfs2 /dev/sde1 /test
 # dd if=/test/aaa of=/dev/null bs=512k
 1024+0 records in
 1024+0 records out
 536870912 bytes (537 MB) copied, 6.00688 seconds, 89.4 MB/s

With this patch:

 # mount -t nilfs2 /dev/sde1 /test
 # dd if=/test/aaa of=/dev/null bs=512k
 1024+0 records in
 1024+0 records out
 536870912 bytes (537 MB) copied, 3.54998 seconds, 151 MB/s
Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
parent 30bda0b8
...@@ -240,7 +240,7 @@ nilfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, ...@@ -240,7 +240,7 @@ nilfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov,
struct address_space_operations nilfs_aops = { struct address_space_operations nilfs_aops = {
.writepage = nilfs_writepage, .writepage = nilfs_writepage,
.readpage = nilfs_readpage, .readpage = nilfs_readpage,
/* .sync_page = nilfs_sync_page, */ .sync_page = block_sync_page,
.writepages = nilfs_writepages, .writepages = nilfs_writepages,
.set_page_dirty = nilfs_set_page_dirty, .set_page_dirty = nilfs_set_page_dirty,
.readpages = nilfs_readpages, .readpages = nilfs_readpages,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment