Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: syssrc/sys
Module Name: syssrc
Committed By: lukem
Date: Sat Dec 8 04:10:00 UTC 2001
Modified Files:
syssrc/sys/kern: vfs_lookup.c
syssrc/sys/nfs: nfs_vnops.c
syssrc/sys/sys: namei.h
Log Message:
- Implement
uint32_t namei_hash(const char *p, const char **ep)
which determines the equivalent MI hash32_str() hash for p.
If *ep != NULL, calculate the hash to the character before ep.
If *ep == NULL, calculate the has to the first / or NUL found, and
point *ep to that location.
- Use namei_hash() to calculate cn_hash in lookup() and relookup().
Hash distribution goes from 35-40% to 55-70%, with similar profiled
time spent in cache_lookup() and cache_enter() on my P3-600.
- Use namei_hash() to calculate cn_hash in nfs_readdirplusrpc(),
insetad of homegrown code (that differed from that in lookup() !)
namei_hash() has better spread and is faster than previous code
(which used a non-constant multiplication).
To generate a diff of this commit:
cvs rdiff -r1.38 -r1.39 syssrc/sys/kern/vfs_lookup.c
cvs rdiff -r1.146 -r1.147 syssrc/sys/nfs/nfs_vnops.c
cvs rdiff -r1.24 -r1.25 syssrc/sys/sys/namei.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index