Linux NILFS development
 help / color / mirror / Atom feed
From: Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org>
To: users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org,
	nezmer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: Re: Pause intervals when copying/extracting an archive
Date: Sat, 06 Jun 2009 04:56:53 +0900 (JST)	[thread overview]
Message-ID: <20090606.045653.133237039.ryusuke@osrg.net> (raw)
In-Reply-To: <20090605193256.GA3663-JEps/AmnTFO/RHH9vPZxQGD2FQJk+8+b@public.gmane.org>

Hi,
On Fri, 5 Jun 2009 22:32:56 +0300, nezmer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org 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;

  parent reply	other threads:[~2009-06-05 19:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-16 17:15 Pause intervals when copying/extracting an archive nezmer-Re5JQEeQqe8AvxtiuMwx3w
     [not found] ` <20090516171555.GA21962-JEps/AmnTFO/RHH9vPZxQGD2FQJk+8+b@public.gmane.org>
2009-05-17  3:28   ` Ryusuke Konishi
     [not found]     ` <20090517.122816.105794011.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-06-05 19:32       ` nezmer-Re5JQEeQqe8AvxtiuMwx3w
     [not found]         ` <20090605193256.GA3663-JEps/AmnTFO/RHH9vPZxQGD2FQJk+8+b@public.gmane.org>
2009-06-05 19:56           ` Ryusuke Konishi [this message]
     [not found]             ` <20090606.045653.133237039.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-06-06 13:49               ` nezmer-Re5JQEeQqe8AvxtiuMwx3w
     [not found]                 ` <20090606134928.GA22242-JEps/AmnTFO/RHH9vPZxQGD2FQJk+8+b@public.gmane.org>
2009-06-06 15:11                   ` Ryusuke Konishi
     [not found]                     ` <20090607.001113.60281188.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-06-06 16:03                       ` Ryusuke Konishi
     [not found]                         ` <20090607.010336.97022341.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-06-07  2:16                           ` nezmer-Re5JQEeQqe8AvxtiuMwx3w

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090606.045653.133237039.ryusuke@osrg.net \
    --to=ryusuke-sg5x7nla6pw@public.gmane.org \
    --cc=nezmer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox