Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/swap_pager.c
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | |||||
#include <sys/resource.h> | #include <sys/resource.h> | ||||
#include <sys/resourcevar.h> | #include <sys/resourcevar.h> | ||||
#include <sys/rwlock.h> | #include <sys/rwlock.h> | ||||
#include <sys/sbuf.h> | #include <sys/sbuf.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <sys/sysproto.h> | #include <sys/sysproto.h> | ||||
#include <sys/systm.h> | #include <sys/systm.h> | ||||
#include <sys/sx.h> | #include <sys/sx.h> | ||||
#include <sys/user.h> | |||||
#include <sys/vmmeter.h> | #include <sys/vmmeter.h> | ||||
#include <sys/vnode.h> | #include <sys/vnode.h> | ||||
#include <security/mac/mac_framework.h> | #include <security/mac/mac_framework.h> | ||||
#include <vm/vm.h> | #include <vm/vm.h> | ||||
#include <vm/pmap.h> | #include <vm/pmap.h> | ||||
#include <vm/vm_map.h> | #include <vm/vm_map.h> | ||||
▲ Show 20 Lines • Show All 327 Lines • ▼ Show 20 Lines | |||||
static void swap_pager_release_writecount(vm_object_t object, | static void swap_pager_release_writecount(vm_object_t object, | ||||
vm_offset_t start, vm_offset_t end); | vm_offset_t start, vm_offset_t end); | ||||
static void swap_tmpfs_pager_getvp(vm_object_t object, struct vnode **vpp, | static void swap_tmpfs_pager_getvp(vm_object_t object, struct vnode **vpp, | ||||
bool *vp_heldp); | bool *vp_heldp); | ||||
static void swap_pager_freespace(vm_object_t object, vm_pindex_t start, | static void swap_pager_freespace(vm_object_t object, vm_pindex_t start, | ||||
vm_size_t size); | vm_size_t size); | ||||
const struct pagerops swappagerops = { | const struct pagerops swappagerops = { | ||||
.pgo_kvme_type = KVME_TYPE_SWAP, | |||||
.pgo_init = swap_pager_init, /* early system initialization of pager */ | .pgo_init = swap_pager_init, /* early system initialization of pager */ | ||||
.pgo_alloc = swap_pager_alloc, /* allocate an OBJT_SWAP object */ | .pgo_alloc = swap_pager_alloc, /* allocate an OBJT_SWAP object */ | ||||
.pgo_dealloc = swap_pager_dealloc, /* deallocate an OBJT_SWAP object */ | .pgo_dealloc = swap_pager_dealloc, /* deallocate an OBJT_SWAP object */ | ||||
.pgo_getpages = swap_pager_getpages, /* pagein */ | .pgo_getpages = swap_pager_getpages, /* pagein */ | ||||
.pgo_getpages_async = swap_pager_getpages_async, /* pagein (async) */ | .pgo_getpages_async = swap_pager_getpages_async, /* pagein (async) */ | ||||
.pgo_putpages = swap_pager_putpages, /* pageout */ | .pgo_putpages = swap_pager_putpages, /* pageout */ | ||||
.pgo_haspage = swap_pager_haspage, /* get backing store status for page */ | .pgo_haspage = swap_pager_haspage, /* get backing store status for page */ | ||||
.pgo_pageunswapped = swap_pager_unswapped, /* remove swap related to page */ | .pgo_pageunswapped = swap_pager_unswapped, /* remove swap related to page */ | ||||
.pgo_update_writecount = swap_pager_update_writecount, | .pgo_update_writecount = swap_pager_update_writecount, | ||||
.pgo_release_writecount = swap_pager_release_writecount, | .pgo_release_writecount = swap_pager_release_writecount, | ||||
.pgo_freespace = swap_pager_freespace, | .pgo_freespace = swap_pager_freespace, | ||||
}; | }; | ||||
const struct pagerops swaptmpfspagerops = { | const struct pagerops swaptmpfspagerops = { | ||||
.pgo_kvme_type = KVME_TYPE_VNODE, | |||||
.pgo_alloc = swap_tmpfs_pager_alloc, | .pgo_alloc = swap_tmpfs_pager_alloc, | ||||
.pgo_dealloc = swap_pager_dealloc, | .pgo_dealloc = swap_pager_dealloc, | ||||
.pgo_getpages = swap_pager_getpages, | .pgo_getpages = swap_pager_getpages, | ||||
.pgo_getpages_async = swap_pager_getpages_async, | .pgo_getpages_async = swap_pager_getpages_async, | ||||
.pgo_putpages = swap_pager_putpages, | .pgo_putpages = swap_pager_putpages, | ||||
.pgo_haspage = swap_pager_haspage, | .pgo_haspage = swap_pager_haspage, | ||||
.pgo_pageunswapped = swap_pager_unswapped, | .pgo_pageunswapped = swap_pager_unswapped, | ||||
.pgo_update_writecount = swap_pager_update_writecount, | .pgo_update_writecount = swap_pager_update_writecount, | ||||
▲ Show 20 Lines • Show All 2,729 Lines • Show Last 20 Lines |