cvs commit: src/sys/kern vfs_bio.c
Nate Lawson
nate at root.org
Wed Dec 3 19:58:35 PST 2003
On Wed, 3 Dec 2003, Don Lewis wrote:
> Modified files: (Branch: RELENG_4)
> sys/kern vfs_bio.c
> Log:
> The existing hash algorithm in bufhash() does not distribute entries
> very well across buckets, especially in the case of cylinder group blocks
> which are located at a sequence of locations that are a multiple of a large
> power of two apart. In the case of large file systems, one or possibly
> a few of the hash chains can get excessively long. Replace the existing
> hash algorithm with a variation on the Fibonacci hash.
>
> Tested by: Ken Marx <kmarx at vicor.com>
>
> Revision Changes Path
> 1.242.2.22 +37 -2 src/sys/kern/vfs_bio.c
This is excellent. MTC? (Merge To Current) :)
Also, whitespace nit:
> + * Volume 3 / Sorting and Searching_
> + *
> + * We reduce the argument to 32 bits before doing the hash to
> + * avoid the need for a slow 64x64 multiply on 32 bit platforms.
> + *
-Nate
More information about the cvs-src
mailing list