freebsd-dev/sys
Matthew Dillon 060282de8a The hash table used to be a table of doubly-link list headers ( two
pointers per entry ).  The table has been changed to a singly linked
    list of vm_page_t pointers.  The table has been doubled in size, but
    the entries only take half the space so a net-zero change in memory use.

    The hash function has been changed, hopefully for the better.  The
    combination of the larger hash table size of changed function should
    keep the chain length down to a reasonable number (0-3, average 1).

    vm_object->page_hint has been removed.  This 'optimization' was not
    only never needed, but costs as much as a hash chain link to implement.
    While having page_hint in vm_object might result in better locality
    of reference, the cost is not worth the space in vm_object or the
    extra instructions in my view.

    vm_page_alloc*() functions have been inlined and call a generalized
    non-inlined vm_page_alloc_toq() which combines the standard alloc
    and zero-page alloc functions together, reducing code size and the L1
    cache footprint.  Some reordering has been done... not much.  The
    delinking code should be faster ( because unlinking a doubly-linked list
    requires four memory ops and unlinking a singly linked list only requires
    two ), and we get a hash consistancy check for free.

    vm_page_rename() now automatically sets the page's dirty bits.

    vm_page_alloc() does not try to manually inline freeing a cache page.
    Instead, it now properly calls vm_page_free(m) ... vm_page_free() is
    really too complex to manually inline.

    vm_await(), supporting asleep(), has been added.
1999-01-21 10:01:49 +00:00
..
alpha This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
amd64 This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
boot Transition from using Perl to using awk for our text-manipulation 1999-01-18 19:05:27 +00:00
cam This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
coda Add 'options DEBUG_LOCKS', which stores extra information in struct 1999-01-20 14:49:12 +00:00
compat Fix linux sendmsg() emulation 1999-01-11 05:28:44 +00:00
compile
conf Move EXT2FS to be more visible, and give it a description. Also make 1999-01-21 09:24:28 +00:00
contrib/softupdates Don't pass unused unused timestamp args to UFS_UPDATE() or waste 1999-01-07 16:14:19 +00:00
ddb Replace includes of <sys/kernel.h> with includes of 1999-01-14 06:22:10 +00:00
dev Include Peter Wemm's renaming and restructuring 1999-01-21 00:41:58 +00:00
fs This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
geom
gnu Remove LKM support, src/lkm that built it is gone and it never worked as an 1999-01-17 20:28:12 +00:00
i4b Update the pccard hooks to use a module style declaration instead. 1999-01-19 00:21:53 +00:00
i386 Move EXT2FS to be more visible, and give it a description. Also make 1999-01-21 09:24:28 +00:00
isa I guess this is now a legacy driver (for alpha only right now). 1999-01-20 18:27:31 +00:00
isofs/cd9660 Mountroot could concievably make sense to a KLD though, in the preload 1999-01-17 20:41:02 +00:00
kern The main operational changes are in getblk()'s handling of the 1999-01-21 09:19:33 +00:00
libkern - Fix modulo bug. 1998-12-01 05:29:06 +00:00
miscfs This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
modules Add source file vinumdaemon.c 1999-01-21 00:25:47 +00:00
msdosfs Now empty DOS filesystems default to long file names. Non-empty filesystems 1999-01-02 18:52:13 +00:00
net This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
netatalk De-staticize and add prototype for main debug function. I'll turn 1999-01-12 12:09:27 +00:00
netatm Prevent duplicate output lines from 'atm show arpserver' command on systems 1999-01-19 23:16:11 +00:00
netinet Add a flag, passed to pru_send routines, PRUS_MORETOCOME. This 1999-01-20 17:32:01 +00:00
netipx Remove functions that are no longer in use. 1999-01-12 12:37:18 +00:00
netkey #ifdef out unused function key_freetables. 1999-01-12 12:38:31 +00:00
netnatm Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
netns
nfs This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
nfsclient This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
nfsserver This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
pc98 Remove 'alog'. 1999-01-20 08:31:56 +00:00
pccard Initial update pccard code for KLD module support. Module support 1999-01-19 00:18:28 +00:00
pci Fix problem with zero valued map registers followed by valid map entries. 1999-01-19 23:29:20 +00:00
posix4
powerpc Various changes to support OSF1 emulation: 1998-12-30 10:38:59 +00:00
rpc
sys Renamed M_KERNEL to a more appropriate M_USE_RESERVE. 1999-01-21 09:23:21 +00:00
tools Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
ufs Added support for VOP_FREEBLKS(), reducing MFS's impact on swap and 1999-01-21 09:27:03 +00:00
vm The hash table used to be a table of doubly-link list headers ( two 1999-01-21 10:01:49 +00:00
Makefile Backed out previous commit. It depends on a.out utilities and libraries 1998-12-30 12:06:08 +00:00