1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys/vm
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
..
default_pager.c The default_pager's interaction with the swap_pager has been reorganized, 1999-01-21 09:33:07 +00:00
default_pager.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
device_pager.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
pmap.h Notify pmap when a page is freed on the alpha to allow it to clean up 1998-07-26 18:15:20 +00:00
swap_pager.c The default_pager's interaction with the swap_pager has been reorganized, 1999-01-21 09:33:07 +00:00
swap_pager.h This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_extern.h Add (but don't activate) code for a special VM option to make 1999-01-06 23:05:42 +00:00
vm_fault.c Mainly cleanup. Removed some inappropriate low-memory handling code 1999-01-21 09:35:38 +00:00
vm_glue.c Removed low-memory blockages at fork. This is the wrong place to put 1999-01-21 09:36:23 +00:00
vm_inherit.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vm_init.c Back out DIAGNOSTIC changes. 1998-02-06 12:14:30 +00:00
vm_kern.c Potential bug fix, do not just clear PG_BUSY... call vm_page_wakeup() 1999-01-21 09:38:20 +00:00
vm_kern.h Attempt to fix the previous fix to the contigmalloc1 prototype. 1997-10-11 10:39:19 +00:00
vm_map.c General cleanup related to the new pager. We no longer have to worry 1999-01-21 09:40:48 +00:00
vm_map.h Add (but don't activate) code for a special VM option to make 1999-01-06 23:05:42 +00:00
vm_meter.c Objects associated with raw devices are no longer counted in the VM stats 1999-01-21 09:41:52 +00:00
vm_mmap.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_object.c object->id was badly implemented. It has simply been removed. 1999-01-21 09:46:55 +00:00
vm_object.h The vm_object structure is now somewhat smaller due to the removal 1999-01-21 09:51:21 +00:00
vm_page.c The hash table used to be a table of doubly-link list headers ( two 1999-01-21 10:01:49 +00:00
vm_page.h This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_pageout.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_pageout.h This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_pager.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_pager.h This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_param.h There is a comment in vm_param.h which doesn't belong to the 1998-07-22 06:21:55 +00:00
vm_prot.h Fix the gdb executable modify problem. Thanks to the detective work 1997-04-06 02:29:45 +00:00
vm_swap.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vm_unix.c Fixed two potentially serious classes of bugs: 1998-10-13 08:24:45 +00:00
vm_zone.c KNFize, by bde. 1999-01-10 01:58:29 +00:00
vm_zone.h KNFize, by bde. 1999-01-10 01:58:29 +00:00
vm.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vnode_pager.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
vnode_pager.h Fixed two potentially serious classes of bugs: 1998-10-13 08:24:45 +00:00