Hi,
On Fri, 5 Jun 2009 22:32:56 +0300, [email protected] wrote:
> Sorry for the late reply .
>
> I tried to use deplock but I always get this :
> SysRq : Show Locks Held
> INFO: lockdep is turned off.
>
> sysrq t works . I hope the attached file will be helpful .
Thanks for the log!
According to you log, the performance problem seems to be caused
by a wait function in segment constructor of nilfs.
If you have a chance, please try the following coupled patch which
comes from two patches queued for 2.6.31. The upper half of the patch
greatly improves read performance, and the lower part may have effect
on the write performance.
Regards,
Ryusuke Konishi
---
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index 3f70eed..f25fd4b 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -240,7 +240,7 @@ nilfs_direct_IO(int rw, struct kiocb *iocb, const struct
iovec *iov,
struct address_space_operations nilfs_aops = {
.writepage = nilfs_writepage,
.readpage = nilfs_readpage,
- /* .sync_page = nilfs_sync_page, */
+ .sync_page = block_sync_page,
.writepages = nilfs_writepages,
.set_page_dirty = nilfs_set_page_dirty,
.readpages = nilfs_readpages,
diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index dc0277a..9e3fe17 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -393,7 +393,7 @@ int nilfs_segbuf_write(struct nilfs_segment_buffer *segbuf,
* Last BIO is always sent through the following
* submission.
*/
- rw |= (1 << BIO_RW_SYNCIO);
+ rw |= (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG);
res = nilfs_submit_seg_bio(wi, rw);
if (unlikely(res))
goto failed_bio;
_______________________________________________
users mailing list
[email protected]
https://www.nilfs.org/mailman/listinfo/users