From: Mike Fedyk <mfedyk@matchmail.com>
To: Andrew Morton <akpm@zip.com.au>
Cc: lkml <linux-kernel@vger.kernel.org>, ext2-devel@lists.sourceforge.net
Subject: Re: [Ext2-devel] disk throughput
Date: Sun, 4 Nov 2001 19:32:32 -0800 [thread overview]
Message-ID: <20011104193232.A16679@mikef-linux.matchmail.com> (raw)
In-Reply-To: <3BE5F5BF.7A249BDF@zip.com.au>
In-Reply-To: <3BE5F5BF.7A249BDF@zip.com.au>
On Sun, Nov 04, 2001 at 06:13:19PM -0800, Andrew Morton wrote:
> I've been taking a look at one particular workload - the creation
> and use of many smallish files. ie: the things we do every day
> with kernel trees.
>
> There are a number of things which cause linux to perform quite badly
> with this workload. I've fixed most of them and the speedups are quite
> dramatic. The changes include:
>
> - reorganise the sync_inode() paths so we don't do
> read-a-block,write-a-block,read-a-block, ...
>
Why can't the elevator do that? I'm all for better performance, but if
the elevator can do it, then it will work for other file systems too.
> - asynchronous preread of an ext2 inode's block when we
> create the inode, so:
>
> a) the reads will cluster into larger requests and
> b) during inode writeout we don't keep stalling on
> reads, preventing write clustering.
>
This may be what is inhibiting the elevator...
> The above changes are basically a search-and-destroy mission against
> the things which are preventing effective writeout request merging.
> Once they're in place we also need:
>
> - Alter the request queue size and elvtune settings
>
What settings are you suggesting? The 2.4 elevator queue size is an
order of magnatide larger than 2.2...
>
> The time to create 100,000 4k files (10 per directory) has fallen
> from 3:09 (3min 9second) down to 0:30. A six-fold speedup.
>
Nice!
>
> All well and good, and still a WIP. But by far the most dramatic
> speedups come from disabling ext2's policy of placing new directories
> in a different blockgroup from the parent:
[snip]
> A significant thing here is the improvement in read performance as well
> as writes. All of the other speedup changes only affect writes.
>
> We are paying an extremely heavy price for placing directories in
> different block groups from their parent. Why do we do this, and
> is it worth the cost?
>
My God! I'm no kernel hacker, but I would think the first thing you would
want to do is keep similar data (in this case similar because of proximity
in the dir tree) as close as possible to reduce seeking...
Is there any chance that this will go into ext3 too?
Mike
next prev parent reply other threads:[~2001-11-05 3:32 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-05 2:13 disk throughput Andrew Morton
2001-11-05 3:20 ` Mohammad A. Haque
2001-11-05 3:31 ` Andrew Morton
2001-11-05 3:32 ` Mike Fedyk [this message]
2001-11-05 3:45 ` [Ext2-devel] " Andrew Morton
2001-11-05 4:39 ` Mike Fedyk
2001-11-05 7:06 ` Jens Axboe
2001-11-05 7:14 ` Andrew Morton
2001-11-05 7:26 ` Jens Axboe
2001-11-05 7:14 ` Mike Fedyk
2001-11-05 7:18 ` Jens Axboe
2001-11-05 7:18 ` Jens Axboe
2001-11-05 9:14 ` Mike Fedyk
2001-11-05 9:20 ` Jens Axboe
2001-11-05 5:54 ` Albert D. Cahalan
2001-11-05 8:04 ` Andrew Morton
2001-11-05 12:28 ` Matthias Andree
2001-11-05 14:23 ` Alexander Viro
2001-11-05 22:22 ` Andrew Morton
2001-11-05 22:41 ` Andreas Dilger
2001-11-05 22:53 ` Andrew Morton
2001-11-08 15:28 ` Constantin Loizides
2001-11-05 23:14 ` Dan Hollis
2001-11-06 10:52 ` Daniel Phillips
2001-11-06 16:17 ` Jeremy Fitzhardinge
2001-11-08 15:24 ` Constantin Loizides
2001-11-08 16:46 ` Jeremy Fitzhardinge
2001-11-09 6:08 ` Andrew Morton
2001-11-09 8:49 ` Jeremy Fitzhardinge
2001-11-06 21:45 ` Stephen Tweedie
2001-11-05 20:16 ` Andreas Dilger
2001-11-05 20:28 ` m
2001-11-05 21:39 ` Andrew Morton
2001-11-05 22:59 ` Linus Torvalds
2001-11-05 23:36 ` Alexander Viro
2001-11-05 23:50 ` Linus Torvalds
2001-11-06 0:03 ` Linus Torvalds
2001-11-06 1:33 ` Alexander Viro
2001-11-06 2:10 ` Linus Torvalds
2001-11-06 3:02 ` Alexander Viro
2001-11-06 8:39 ` Alan Cox
2001-11-06 8:37 ` Alexander Viro
2001-11-06 8:48 ` Andrew Morton
2001-11-06 3:49 ` Alexander Viro
2001-11-06 4:01 ` Linus Torvalds
2001-11-06 4:21 ` Alexander Viro
2001-11-06 5:01 ` Linus Torvalds
2001-11-06 5:31 ` Andrew Morton
2001-11-06 5:48 ` Linus Torvalds
2001-11-06 7:34 ` Mike Castle
2001-11-06 7:10 ` Kai Henningsen
2001-11-09 22:35 ` Riley Williams
2001-11-06 1:28 ` Alexander Viro
2001-11-06 9:16 ` Wojtek Pilorz
2001-11-06 9:58 ` Alexander Viro
2001-11-08 12:51 ` Pavel Machek
2001-11-06 21:48 ` Stephen Tweedie
2001-11-06 23:17 ` ext2/ialloc.c cleanup Alexander Viro
2001-11-07 19:34 ` [Ext2-devel] " Andreas Dilger
2001-11-07 20:02 ` Alexander Viro
2001-11-08 2:06 ` Andrew Morton
2001-11-08 20:45 ` Andrew Morton
2001-11-08 22:16 ` Alexander Viro
2001-11-08 22:43 ` Andreas Dilger
2001-11-08 23:08 ` Alexander Viro
2001-11-09 6:15 ` Andrew Morton
2001-11-09 6:56 ` Andreas Dilger
2001-11-09 7:09 ` Andrew Morton
2001-11-09 7:12 ` Alexander Viro
2001-11-09 7:18 ` Andrew Morton
2001-11-05 9:45 ` [Ext2-devel] disk throughput Alex Bligh - linux-kernel
2001-11-05 9:58 ` Alex Bligh - linux-kernel
2001-11-05 8:47 ` Jan Kara
2001-11-05 8:50 ` [Ext2-devel] " Mike Fedyk
2001-11-05 9:01 ` Jan Kara
2001-11-05 12:23 ` Matthias Andree
2001-11-05 22:39 ` Andrew Morton
2001-11-05 23:41 ` Matthias Andree
-- strict thread matches above, loose matches on Subject: below --
2001-11-12 6:04 [Ext2-devel] " Yan, Noah
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=20011104193232.A16679@mikef-linux.matchmail.com \
--to=mfedyk@matchmail.com \
--cc=akpm@zip.com.au \
--cc=ext2-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.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