2002-03-24 21:52:17

by Andrew Morton

[permalink] [raw]
Subject: [patch] speed up ext3 synchronous mounts


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;


-


2002-03-25 23:01:50

by Stephen C. Tweedie

[permalink] [raw]
Subject: Re: [Ext2-devel] [patch] speed up ext3 synchronous mounts

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

2002-03-27 19:08:01

by Matthias Andree

[permalink] [raw]
Subject: Re: [patch] speed up ext3 synchronous mounts

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?

2002-03-27 19:13:42

by Ed Sweetman

[permalink] [raw]
Subject: Re: [patch] speed up ext3 synchronous mounts

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 [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


2002-03-27 19:19:12

by Andreas Dilger

[permalink] [raw]
Subject: Re: [patch] speed up ext3 synchronous mounts

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