Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Sep 1998 09:50:43 -0700
From:      Kirk McKusick <mckusick@McKusick.COM>
To:        Carl Mascott <cmascott@world.std.com>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: Reading/writing /usr/ports is VERY slow 
Message-ID:  <199809041650.JAA13413@flamingo.McKusick.COM>
In-Reply-To: Your message of "Wed, 02 Sep 1998 18:52:35 EDT." <199809022252.SAA00868@europa.local> 

next in thread | previous in thread | raw e-mail | index | archive | help
In answer to the question of alternative layout policies for
directories, the scheme that is currently in use is unchanged
from what I wrote in 1983. I wrote that policy for the original
fast filesystem, and never revisited it. It works well at keeping
cylinder groups from filling up. As several of you have noted,
it works poorly for find. Most filesystems are created from
archives that were created by a depth first search (aka ftw).
These directories end up being striped across the cylinder groups
thus creating a worst possible senario for future depth first
searches. If one knew the total number of directories to be
created, the solution would be to create (total / fs_ncg) per
cylinder group before moving on. Obviously, one would have to
create some heuristic to guess at this number. Even using a
small fixed number like say 10 would make an order of magnitude
improvement. To differentiate restores from normal operation
(when the current algorithm is probably more sensible), you
could use the clustering of up to 10 if they were all done
within a ten second window. Anyway, my conclusion is that this
is an area ripe for experimentation.

	Kirk McKusick

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809041650.JAA13413>