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