Re: Ext2 directory index, updated

Daniel Phillips (phillips@bonn-fries.net)
Mon, 5 Nov 2001 10:53:55 +0100


On November 5, 2001 08:48 am, Ville Herva wrote:
> On Mon, Nov 05, 2001 at 02:43:28AM +0100, you [Daniel Phillips] claimed:
> >
> > Which kernel are you using? From 2.4.10 on ext2 has an accelerator in
> > ext2_find_entry - it caches the last lookup position. I'm wondering how that
> > affects this case.
>
> Is that the same optimization Ted T'so implemented for ext3 around 0.9.10? I
> thought it hadn't been ported the ext2...

Yes, Ted did it, earlier this year.

> BTW, I assume the ext2 dir index patch is roughly equivalent to FreeBSD
> dirhash and the the other patch resembles theFreeBSD dirperf patch?
> Have you looked at them? [http://www.osnews.com/story.php?news_id=153]

I *think* the performance of my dir index patch is roughly in line with BSD's
dirhash patch, for common cases. The big difference is that the BSD dirhash
is not persistent - the cache goes away when the directory is closed. So
there are loads that can break it badly, such as accessing files in large
directories randomly over a large disk. This forces the entire directory to
be read into cache, in the worst case, on every access. Another bad case is
first-time access. A million file directory is around 30 meg - it takes a
long time to read and hash all those blocks, just to open the first file.

They will have to implement a persistent index at some point. For common
cases though, the BSD approach is good.

I'll go into the gory details next week at ALS if people are insterested.

--
Daniel
-
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/