public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] speed up ext3 synchronous mounts
@ 2002-03-24 21:50 Andrew Morton
  2002-03-25 23:01 ` [Ext2-devel] " Stephen C. Tweedie
  2002-03-27 19:07 ` Matthias Andree
  0 siblings, 2 replies; 5+ messages in thread
From: Andrew Morton @ 2002-03-24 21:50 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: lkml, ext2-devel


Again, we don't need to sync indirects as we dirty them because
we run a commit if IS_SYNC(inode) prior to returning to the
caller of write(2).

Writing a 10 meg file in 0.1 meg chunks is sped up by, err,
a factor of fifty.  That's a best case.

--- linux-2.4.18-pre8/fs/ext3/inode.c	Tue Feb  5 00:33:05 2002
+++ linux-akpm/fs/ext3/inode.c	Wed Feb  6 23:40:48 2002
@@ -581,8 +581,6 @@ static int ext3_alloc_branch(handle_t *h
 			
 			parent = nr;
 		}
-		if (IS_SYNC(inode))
-			handle->h_sync = 1;
 	}
 	if (n == num)
 		return 0;


-

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Ext2-devel] [patch] speed up ext3 synchronous mounts
  2002-03-24 21:50 [patch] speed up ext3 synchronous mounts Andrew Morton
@ 2002-03-25 23:01 ` Stephen C. Tweedie
  2002-03-27 19:07 ` Matthias Andree
  1 sibling, 0 replies; 5+ messages in thread
From: Stephen C. Tweedie @ 2002-03-25 23:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Marcelo Tosatti, lkml, ext2-devel, Stephen Tweedie

Hi,

On Sun, Mar 24, 2002 at 01:50:16PM -0800, Andrew Morton wrote:
 
> Again, we don't need to sync indirects as we dirty them because
> we run a commit if IS_SYNC(inode) prior to returning to the
> caller of write(2).
> 
> Writing a 10 meg file in 0.1 meg chunks is sped up by, err,
> a factor of fifty.  That's a best case.
> 
> --- linux-2.4.18-pre8/fs/ext3/inode.c	Tue Feb  5 00:33:05 2002
> +++ linux-akpm/fs/ext3/inode.c	Wed Feb  6 23:40:48 2002
> @@ -581,8 +581,6 @@ static int ext3_alloc_branch(handle_t *h
>  			
>  			parent = nr;
>  		}
> -		if (IS_SYNC(inode))
> -			handle->h_sync = 1;
>  	}
>  	if (n == num)
>  		return 0;

OK.  This was just a relic of ages back when we had an overarching
transaction spanning multiple writepages in ext3_file_write().  In
that case, setting that transaction to be synchronous multiple times
was no extra cost.  Doing it just once at the end should be fine.

Cheers,
 Stephen

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] speed up ext3 synchronous mounts
  2002-03-24 21:50 [patch] speed up ext3 synchronous mounts Andrew Morton
  2002-03-25 23:01 ` [Ext2-devel] " Stephen C. Tweedie
@ 2002-03-27 19:07 ` Matthias Andree
  2002-03-27 19:13   ` Ed Sweetman
  2002-03-27 19:17   ` Andreas Dilger
  1 sibling, 2 replies; 5+ messages in thread
From: Matthias Andree @ 2002-03-27 19:07 UTC (permalink / raw)
  To: lkml

On Sun, 24 Mar 2002, Andrew Morton wrote:

> Again, we don't need to sync indirects as we dirty them because
> we run a commit if IS_SYNC(inode) prior to returning to the
> caller of write(2).

Will this help synchronous NFS writes, at least a little? I have slow
write performance on "sync" NFSv3 exports (ext3 underneath, you guessed
it), kernel 2.4.19-pre3-ac4 (not really surprising, sync is slow ;-). Is
it worth a try?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] speed up ext3 synchronous mounts
  2002-03-27 19:07 ` Matthias Andree
@ 2002-03-27 19:13   ` Ed Sweetman
  2002-03-27 19:17   ` Andreas Dilger
  1 sibling, 0 replies; 5+ messages in thread
From: Ed Sweetman @ 2002-03-27 19:13 UTC (permalink / raw)
  To: Matthias Andree; +Cc: lkml

On Wed, 2002-03-27 at 14:07, Matthias Andree wrote:
> On Sun, 24 Mar 2002, Andrew Morton wrote:
> 
> > Again, we don't need to sync indirects as we dirty them because
> > we run a commit if IS_SYNC(inode) prior to returning to the
> > caller of write(2).
> 
> Will this help synchronous NFS writes, at least a little? I have slow
> write performance on "sync" NFSv3 exports (ext3 underneath, you guessed
> it), kernel 2.4.19-pre3-ac4 (not really surprising, sync is slow ;-). Is
> it worth a try?

if you look at the source.  that kernel doesn't need the patch. Seems to
have already been applied since ac1


> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] speed up ext3 synchronous mounts
  2002-03-27 19:07 ` Matthias Andree
  2002-03-27 19:13   ` Ed Sweetman
@ 2002-03-27 19:17   ` Andreas Dilger
  1 sibling, 0 replies; 5+ messages in thread
From: Andreas Dilger @ 2002-03-27 19:17 UTC (permalink / raw)
  To: lkml; +Cc: Matthias Andree

On Mar 27, 2002  20:07 +0100, Matthias Andree wrote:
> On Sun, 24 Mar 2002, Andrew Morton wrote:
> > Again, we don't need to sync indirects as we dirty them because
> > we run a commit if IS_SYNC(inode) prior to returning to the
> > caller of write(2).
> 
> Will this help synchronous NFS writes, at least a little? I have slow
> write performance on "sync" NFSv3 exports (ext3 underneath, you guessed
> it), kernel 2.4.19-pre3-ac4 (not really surprising, sync is slow ;-). Is
> it worth a try?

Are you mounting the ext3 filesystem with "data=journal" and have a
large journal?  This will help a lot.  You can also set up an external
journal device to speed things up.

Cheers, Andreas
--
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-03-27 19:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-24 21:50 [patch] speed up ext3 synchronous mounts Andrew Morton
2002-03-25 23:01 ` [Ext2-devel] " Stephen C. Tweedie
2002-03-27 19:07 ` Matthias Andree
2002-03-27 19:13   ` Ed Sweetman
2002-03-27 19:17   ` Andreas Dilger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox