1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-28 16:43:09 +00:00
freebsd/sys
David Malone 527f5ce021 Two minor changes to dirhash, which result in some marginal benchmark
improvements.

1) If deleting an entry results in a chain of deleted slots ending in an
   empty slot, then we can be a bit more aggressive about marking slots as
   empty.

2) The last stage of the FNV hash is to xor the last byte of data
   into the hash. This means that filenames which differ only in
   the last byte will be placed close to one another in the hash
   table, which forms longer chains. To work around this common
   case, we also hash in the address of the dirhash structure.

     news/cancel = news/articles/control/cancel for a tradspool inn server
     squid2 = squid level 2 directory (dirs called 00->FF)
     squid3 = squid level 3 directory (files called 00001F00->00001FFF)

                             mean #probes for
                  home dir  mh inbox  news/cancel  tmp    squid2  squid3
old   successful  1.02      3.19      4.07         1.10    7.85   2.06
new   successful  1.04      1.32      1.27         1.04    1.93   1.17

old unsuccessful  1.08      4.50      5.37         1.17   10.76   2.69
new unsuccessful  1.08      1.73      1.64         1.17    2.89   1.37

Reviewed by:	iedowse
MFC after:	2 weeks
2002-03-20 17:58:02 +00:00
..
alpha Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 10:35:22 +00:00
amd64 Remove __P. 2002-03-20 08:56:31 +00:00
arm We need machine/{signal,ucontext}.h to build a cross GCC compiler. 2001-12-09 19:39:49 +00:00
boot Remove __P. 2002-03-20 08:00:54 +00:00
cam Remove __P. 2002-03-20 08:56:31 +00:00
coda Remove __P. 2002-03-20 05:00:21 +00:00
compat Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 10:35:22 +00:00
conf Use the FreeBSD cross tools instead of the linux ones. 2002-03-19 10:52:44 +00:00
contrib fix blockno printf formatting warnings. 2002-03-19 20:46:30 +00:00
crypto Remove __P. 2002-03-20 05:14:42 +00:00
ddb Remove __P. 2002-03-20 05:14:42 +00:00
dev Remove unused include. 2002-03-20 09:55:07 +00:00
fs Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 10:17:00 +00:00
geom Fix bio->bio_blkno format warning. 2002-03-19 20:12:08 +00:00
gnu Remove __P. 2002-03-19 22:40:48 +00:00
i4b Remove __P. 2002-03-20 07:51:46 +00:00
i386 Remove __P. 2002-03-20 08:56:31 +00:00
ia64 Change intr_enable to intr_restore for consistency with sparc64. 2002-03-20 17:28:40 +00:00
isa Remove __P. 2002-03-20 07:51:46 +00:00
isofs/cd9660 Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 10:17:00 +00:00
kern - Change a check of securelevel to securelevel_gt() call in order to help 2002-03-20 16:03:42 +00:00
libkern Remove __P. 2002-03-20 02:15:46 +00:00
modules Add a USB comm driver. 2002-03-18 18:23:42 +00:00
net Fix a bug introduced in 1.11 (and also MFCd to stable AND the security branch) 2002-03-20 04:05:26 +00:00
netatalk Remove __P. 2002-03-20 02:39:27 +00:00
netatm Remove __P. 2002-03-20 08:00:54 +00:00
netgraph Fix bugs where the ng_ppp node could transmit PPP frames whose length 2002-03-15 02:31:14 +00:00
netinet Send periodic ARP requests when ARP entries for hosts we are sending 2002-03-20 15:56:36 +00:00
netinet6 Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 08:03:54 +00:00
netipx Remove __P. 2002-03-20 02:39:27 +00:00
netkey Remove __P. 2002-03-20 02:39:27 +00:00
netnatm Remove __P. 2002-03-20 02:39:27 +00:00
netncp Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
netns Remove __P. 2002-03-20 02:39:27 +00:00
netsmb Missed this file for select SMP fixes associated with rev 1.93 of 2002-03-14 05:16:18 +00:00
nfs Remove unused include. 2002-03-20 10:12:07 +00:00
nfsclient Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 10:07:52 +00:00
nfsserver Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 10:07:52 +00:00
pc98 MFi386: revision 1.65. 2002-03-20 12:28:03 +00:00
pccard Get the generic name right 2002-03-03 01:04:39 +00:00
pci Remove __P. 2002-03-20 02:08:01 +00:00
posix4 Remove __P. 2002-03-19 22:20:14 +00:00
powerpc Increment pmap_pvo_count in the right place. 2002-03-20 05:25:33 +00:00
rpc
security/lomac DBA update: pick the right DBA for various LOMAC copyrights. 2002-03-13 22:55:20 +00:00
sparc64 This is the first part of the new kernel memory allocator. This replaces 2002-03-19 09:11:49 +00:00
svr4
sys Various style issues from a recent brucification: 2002-03-20 08:48:21 +00:00
tools Return vnode_if back to its AWK roots. 2002-03-01 01:20:23 +00:00
ufs Two minor changes to dirhash, which result in some marginal benchmark 2002-03-20 17:58:02 +00:00
vm Add uma_zone_set_max() to add enforced limits to non vm obj backed zones. 2002-03-20 05:28:34 +00:00
Makefile