freebsd-src/sys/vm
Matthew Dillon 4dcc5c2d1d Fix a number of spl bugs related to reserving and freeing swap space.
Swap space can be freed from an interrupt and so swap reservation and
    freeing must occur at splvm.

    Add swap_pager_reserve() code to support a new swap pre-reservation
    capability for the VN device.

    Generally cleanup the swap code by simplifying the swp_pager_meta_build()
    static function and consolidating the SWAPBLK_NONE test from a bit test
    to an absolute compare.  The bit test was left over from a rejected
    swap allocation scheme that was not ultimately committed.  A few other
    minor cleanups were also made.

    Reorganize the swap strategy code, again for VN support, to not
    reallocate swap when writing as this messes up pre-reservation and
    can fragment I/O unnecessarily as VN-baesd disk is messed around with.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:09:24 +00:00
..
default_pager.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
default_pager.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
device_pager.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pmap.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
swap_pager.c Fix a number of spl bugs related to reserving and freeing swap space. 1999-09-17 05:09:24 +00:00
swap_pager.h Fix a number of spl bugs related to reserving and freeing swap space. 1999-09-17 05:09:24 +00:00
vm.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_extern.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_fault.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_glue.c Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com> 1999-09-17 04:56:40 +00:00
vm_inherit.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_init.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_kern.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_kern.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_map.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_map.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_meter.c Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com> 1999-09-17 04:56:40 +00:00
vm_mmap.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_object.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_object.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_page.c Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com> 1999-09-17 04:56:40 +00:00
vm_page.h Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com> 1999-09-17 04:56:40 +00:00
vm_pageout.c Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com> 1999-09-17 04:56:40 +00:00
vm_pageout.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_pager.c Add required BUF_KERNPROC to flushchainbuf() to disassociate the 1999-09-17 05:03:27 +00:00
vm_pager.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_param.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_prot.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_swap.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_unix.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_zone.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm_zone.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vnode_pager.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vnode_pager.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00