From: Daniel Phillips <phillips@bonn-fries.net>
To: linux-kernel@vger.kernel.org
Subject: Ext2 directory index, updated
Date: Sun, 4 Nov 2001 03:28:06 +0100 [thread overview]
Message-ID: <20011104022659Z16995-4784+750@humbolt.nl.linux.org> (raw)
***N.B.: still for use on test partitions only.***
This update mainly fixes a bug, a one-in-a-million occurance on an untested
code path. This bug resulted in rm -rf deleting all files but one from a
million-file directory. I believe that's the last untested code path, and
otherwise it's been very stable.
I didn't expect highmem to work properly, and it didn't. It's on my to-do
list, but for now highmem has to be off or you will oops on boot.
I elaborated the dx_show_buckets debug output to show dump the full index
tree instead of just one level. This function now serves as a capsule
summary of the index tree structure, and as you can see, it's simple.
I've done quite a bit more testing, including stress testing on a real
machine and I find that everything works quite comfortably up to about 2
million files, turning in an average time of about 50 microseconds/create and
300 microseconds/delete (1 GHz PIII). In the 4 million file range things go
pear-shaped, which I believe is not due to the index patch, but to rd. The
runs do complete, but require exponentially more time, with cpu 98% idle and
block throughput in the 300/second range. I'll look into that more later.
I did run into some bad mm behavior on 2.4.13. The icache seems to be too
severely throttled, resulting in delete performance being less than it should
be. I also find I am rarely unable to create a million file test run on uml
(2.4.13) without oom-ing. In my experience, such problems are not due to
uml, but to the kernel's memory manager. These issues may have been
addressed in recent pre-patch kernels, but it seems there is a still some
room for improvement in mm stability.
The patch is available at:
http://nl.linux.org/~phillips/htree/ext2.index-2.4.13
To apply:
cd /your/source/tree
patch -p0 <this.patch
--
Daniel
next reply other threads:[~2001-11-04 2:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-04 2:28 Daniel Phillips [this message]
2001-11-04 2:44 ` Daniel Phillips
2001-11-04 22:09 ` Christian Laursen
2001-11-04 22:24 ` Daniel Phillips
2001-11-04 22:54 ` Christian Laursen
2001-11-04 23:01 ` Daniel Phillips
2001-11-04 23:09 ` Gábor Lénárt
2001-11-05 22:10 ` Andreas Dilger
2001-11-06 0:38 ` Daniel Phillips
2001-11-05 1:43 ` Daniel Phillips
2001-11-05 7:48 ` Ville Herva
2001-11-05 9:53 ` Daniel Phillips
2001-11-05 22:59 ` Christian Laursen
2001-11-05 23:13 ` Daniel Phillips
2001-11-05 23:45 ` Andreas Dilger
2001-11-08 7:21 ` Christian Laursen
-- strict thread matches above, loose matches on Subject: below --
2002-03-04 11:03 Ext2 Directory Index, updated Daniel Phillips
2001-11-02 3:36 Ext2 directory index, updated Daniel Phillips
2001-11-02 5:04 ` Andreas Dilger
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=20011104022659Z16995-4784+750@humbolt.nl.linux.org \
--to=phillips@bonn-fries.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
all inboxes | Powered by JetHome®