Added Alternative layout policies for directories
Submitted by: Kirk McKusick
This commit is contained in:
parent
d12eb987d4
commit
06b7160fe3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=3469
1 changed files with 28 additions and 2 deletions
|
@ -1,4 +1,4 @@
|
|||
<!-- $Id: hackers.sgml,v 1.4 1998-09-04 09:00:08 obrien Exp $ -->
|
||||
<!-- $Id: hackers.sgml,v 1.5 1998-09-06 10:54:05 wosch Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
|
@ -261,5 +261,31 @@
|
|||
appreciate hearing about your driver on
|
||||
<tt><freebsd-hackers@FreeBSD.ORG></tt>.
|
||||
|
||||
</sect>
|
||||
|
||||
<sect1>
|
||||
<heading>Alternative layout policies for directories</heading>
|
||||
|
||||
<p>
|
||||
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.</p>
|
||||
|
||||
<p>Kirk McKusick, September 1998</p>
|
||||
|
||||
</sect>
|
||||
|
|
Loading…
Reference in a new issue