freebsd-dev/sys
Poul-Henning Kamp bff1f1d0dd Clean up and improve the namecache.
1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
Clean up and improve the namecache.

1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
gets forced out of the VM/cache.  The latter is not numerous enough to keep
the pool of vnodes needed for the namecache sufficiently big.

2. Purge invalid entries in the namecache as soon as we notice them.  This
avoids a stale entry pushing out a valid entry on the LRU list.

3. Speed up the lookup in the namecache by avoid a special case branch.

4. Make the cache purge routines do the thing they're supposed to, and in
a decently efficient manner.

5. Make the size of the namecache follow the number of vnodes, so that we
can always point to all the vnodes we have in core.

6. Readability has gone way up.

7. Added a "options NCH_STATISTICS" feature that will gather more
detailed statistics on the performance of the namecache.

Reviewed by:    davidg
1995-03-09 20:27:21 +00:00
..
alpha/include Third round in syscons update. 1995-01-28 22:18:05 +00:00
amd64 Increased number of buffers to 1/12 of (page_count - 1024). This makes the 1995-03-07 19:58:02 +00:00
compile Stop cvs up -P from removing empty compile directories. 1994-08-25 16:20:16 +00:00
conf Added ata.c device driver file. 1995-03-07 21:15:30 +00:00
ddb Make `p'' an explicit alias for `print'' instead of being an 1995-03-05 22:56:21 +00:00
dev Be careful to maintain the bits in SBLKCTL that are reserved. 1995-03-07 09:00:44 +00:00
fs Obtained from: memories of 1.1.5 1995-02-21 18:41:30 +00:00
gnu Be careful to maintain the bits in SBLKCTL that are reserved. 1995-03-07 09:00:44 +00:00
i386 Remove redundant IORW definition.. 1995-03-08 18:43:49 +00:00
isa Fix flag bugs with RUKEYMAP 1995-03-03 23:12:20 +00:00
isofs/cd9660 Obtained from: memories of 1.1.5 1995-02-21 18:41:30 +00:00
kern Clean up and improve the namecache. 1995-03-09 20:27:04 +00:00
libkern Add strncmp() function..I need it and 1995-02-27 09:16:04 +00:00
miscfs Make sure process isn't swapped when messing with it. 1995-02-20 15:53:33 +00:00
modules Make in lkm/syscons fails due to missing include for apm stuff. 1995-03-03 18:38:00 +00:00
msdosfs Use the correct block number for updating the backup copy of the FAT when 1995-02-10 18:39:45 +00:00
net Reduced loopback MTU to 16k to work around a miriad of problems with it 1995-03-04 04:28:50 +00:00
netccitt And fix some more compiler warnings. Then give up. /sys/net* is FULL of 1995-02-15 06:29:47 +00:00
netinet Removed unnecessary define for TCPOUTFLAGS since they are not used. 1995-03-06 02:49:24 +00:00
netiso Update calls to rtalloc1(). 1994-12-13 22:33:05 +00:00
netns Include <sys/systm.h> to get inlines for spl*() so that LINT kernel links. 1994-11-15 14:26:31 +00:00
nfs Removed obsolete vtrace() remnants. 1995-03-04 03:24:45 +00:00
nfsclient Removed obsolete vtrace() remnants. 1995-03-04 03:24:45 +00:00
nfsserver YF fix. 1995-02-15 04:21:32 +00:00
pci Reduce burst length to 4 DWORDs for now, since there seem to 1995-03-03 16:44:33 +00:00
powerpc/include Don't define CLK_TCK here. 1995-02-03 21:49:18 +00:00
rpc Use the header files that are compatible with the code just moved over 1994-08-07 18:41:02 +00:00
scsi Submitted by: bde@zeta.org.au (Bruce Evans) 1995-03-06 15:02:13 +00:00
sys Clean up and improve the namecache. 1995-03-09 20:27:21 +00:00
tools Added $Id$ 1994-08-02 07:55:43 +00:00
ufs Removed obsolete vtrace() remnants. 1995-03-04 03:24:45 +00:00
vm Set VAGE flag when pager is destroyed. This usually happens when an 1995-03-07 19:04:10 +00:00
Makefile Added ${MACHINE}/boot to build bootblocks. 1994-08-25 13:54:28 +00:00