Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_object.h
Show First 20 Lines • Show All 112 Lines • ▼ Show 20 Lines | struct vm_object { | ||||
u_short flags; /* see below */ | u_short flags; /* see below */ | ||||
u_short pg_color; /* (c) color of first page in obj */ | u_short pg_color; /* (c) color of first page in obj */ | ||||
u_int paging_in_progress; /* Paging (in or out) so don't collapse or destroy */ | u_int paging_in_progress; /* Paging (in or out) so don't collapse or destroy */ | ||||
int resident_page_count; /* number of resident pages */ | int resident_page_count; /* number of resident pages */ | ||||
struct vm_object *backing_object; /* object that I'm a shadow of */ | struct vm_object *backing_object; /* object that I'm a shadow of */ | ||||
vm_ooffset_t backing_object_offset;/* Offset in backing object */ | vm_ooffset_t backing_object_offset;/* Offset in backing object */ | ||||
TAILQ_ENTRY(vm_object) pager_object_list; /* list of all objects of this pager type */ | TAILQ_ENTRY(vm_object) pager_object_list; /* list of all objects of this pager type */ | ||||
LIST_HEAD(, vm_reserv) rvq; /* list of reservations */ | LIST_HEAD(, vm_reserv) rvq; /* list of reservations */ | ||||
struct vm_radix cache; /* (o + f) root of the cache page radix trie */ | |||||
void *handle; | void *handle; | ||||
union { | union { | ||||
/* | /* | ||||
* VNode pager | * VNode pager | ||||
* | * | ||||
* vnp_size - current size of file | * vnp_size - current size of file | ||||
*/ | */ | ||||
struct { | struct { | ||||
▲ Show 20 Lines • Show All 154 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
void vm_object_clear_flag(vm_object_t object, u_short bits); | void vm_object_clear_flag(vm_object_t object, u_short bits); | ||||
void vm_object_pip_add(vm_object_t object, short i); | void vm_object_pip_add(vm_object_t object, short i); | ||||
void vm_object_pip_subtract(vm_object_t object, short i); | void vm_object_pip_subtract(vm_object_t object, short i); | ||||
void vm_object_pip_wakeup(vm_object_t object); | void vm_object_pip_wakeup(vm_object_t object); | ||||
void vm_object_pip_wakeupn(vm_object_t object, short i); | void vm_object_pip_wakeupn(vm_object_t object, short i); | ||||
void vm_object_pip_wait(vm_object_t object, char *waitid); | void vm_object_pip_wait(vm_object_t object, char *waitid); | ||||
static __inline boolean_t | |||||
vm_object_cache_is_empty(vm_object_t object) | |||||
{ | |||||
return (vm_radix_is_empty(&object->cache)); | |||||
} | |||||
void umtx_shm_object_init(vm_object_t object); | void umtx_shm_object_init(vm_object_t object); | ||||
void umtx_shm_object_terminated(vm_object_t object); | void umtx_shm_object_terminated(vm_object_t object); | ||||
extern int umtx_shm_vnobj_persistent; | extern int umtx_shm_vnobj_persistent; | ||||
vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); | vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); | ||||
boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, | boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, | ||||
boolean_t); | boolean_t); | ||||
Show All 28 Lines |