freebsd-skq/sys
Alan Cox 4e94f40222 o Replace the vm_map's hint by the root of a splay tree. By design,
the last accessed datum is moved to the root of the splay tree.
   Therefore, on lookups in which the hint resulted in O(1) access,
   the splay tree still achieves O(1) access.  In contrast, on lookups
   in which the hint failed miserably, the splay tree achieves amortized
   logarithmic complexity, resulting in dramatic improvements on vm_maps
   with a large number of entries.  For example, the execution time
   for replaying an access log from www.cs.rice.edu against the thttpd
   web server was reduced by 23.5% due to the large number of files
   simultaneously mmap()ed by this server.  (The machine in question has
   enough memory to cache most of this workload.)

   Nothing comes for free: At present, I see a 0.2% slowdown on "buildworld"
   due to the overhead of maintaining the splay tree.  I believe that
   some or all of this can be eliminated through optimizations
   to the code.

Developed in collaboration with: Juan E Navarro <jnavarro@cs.rice.edu>
Reviewed by:	jeff
2002-05-24 01:33:24 +00:00
..
alpha - Apparently, the Alpha ABI mandates that arguments be passed sign-extended 2002-05-17 05:45:39 +00:00
amd64 Rename pause() to ia32_pause() so it doesn't conflict with the pause() 2002-05-22 20:32:39 +00:00
arm Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
boot Fixed to conflict labels. 2002-05-21 12:53:48 +00:00
cam Add a Quirk entry for the USB SimpleTech UCF-100 compact flash reader. 2002-05-19 21:59:28 +00:00
coda More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
compat Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
conf For now, make the .ifdef GCC3 case default. We should change -Wno-format 2002-05-24 01:02:45 +00:00
contrib Merge updates from 3.4.26 - 3.4.27. 2002-04-27 16:56:25 +00:00
crypto Remove macros that are defined elsewhere. 2002-04-21 10:32:48 +00:00
ddb Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It 2002-05-07 10:59:52 +00:00
dev Dont panic if only one disk on a channel can do tagged queueing. 2002-05-23 08:17:16 +00:00
fs Convert unionfs to nmount. 2002-05-24 00:44:44 +00:00
geom Introduce the concept of "magic spaces", and implement them in most of 2002-05-21 20:33:49 +00:00
gnu Add an ext2_uninit() routine that undoes the actions performed by 2002-05-18 22:18:17 +00:00
i4b Fix a problem which could cause some machines to hang after a warm boot. 2002-05-10 12:04:04 +00:00
i386 Rename pause() to ia32_pause() so it doesn't conflict with the pause() 2002-05-22 20:32:39 +00:00
ia64 o Add records for PCI bus and PCI device errors. 2002-05-22 02:25:06 +00:00
isa After some comments from bde, rewrite the loops to avoid turning the 2002-05-14 21:28:45 +00:00
isofs/cd9660 Quick fix for non-unique inode numbers for hard links. We use the 2002-05-22 08:50:18 +00:00
kern Style nit, no functional changes. 2002-05-23 23:22:22 +00:00
libkern Remove bogus include of <machine/ansi.h>. 2002-04-11 06:53:40 +00:00
modules Remove asr from the ia64 build. Its use of KERNBASE appears i386 2002-05-19 03:59:06 +00:00
net Include <sys.systm.h> for the declaration of some atomic functions -- don't 2002-05-22 06:26:44 +00:00
netatalk Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netatm - Remove a few storage pools and replace them with UMA zones. The spans 2002-05-24 00:39:58 +00:00
netgraph Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netinet - Change the newly turned INVARIANTS #ifdef blocks (they were changed from 2002-05-21 18:52:24 +00:00
netinet6 o Conditionalize sections for POSIX.1-2001 compatibility. 2002-05-23 18:48:27 +00:00
netipx Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netkey Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netnatm Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netncp Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netns Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
netsmb Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
nfs
nfsclient Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
nfsserver Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
pc98 MFi386: revision 1.519 2002-05-14 12:31:47 +00:00
pccard
pci Enhance the use of the watchdog timer in this driver so that it will 2002-05-15 17:05:28 +00:00
posix4 Change p_can{debug,see,sched,signal}()'s first argument to be a thread 2002-05-19 00:14:50 +00:00
powerpc Make this more FreeBSD-ish. 2002-05-19 08:16:25 +00:00
rpc
security/lomac Lock down a socket, milestone 1. 2002-05-20 05:41:09 +00:00
sparc64 Update tsb_tte_enter prototype per tsb.c rev 1.20. 2002-05-21 02:15:37 +00:00
sys Update comments to better match reality. 2002-05-23 23:18:25 +00:00
tools include systm.h in vnode_if.c so that panic is defined when we're doing 2002-05-04 02:35:13 +00:00
ufs Remove IFS from 5.0-CURRENT. This facilitates introducing UFS2 as 2002-05-19 00:11:08 +00:00
vm o Replace the vm_map's hint by the root of a splay tree. By design, 2002-05-24 01:33:24 +00:00
Makefile Milestone #1 in cross-arch make releases. 2002-04-26 17:55:27 +00:00