FreeBSD virtual memory subsystem code
|
Go to the source code of this file.
Macros | |
#define | VM_OOM_MEM 1 |
#define | VM_OOM_MEM_PF 2 |
#define | VM_OOM_SWAPZ 3 |
#define | VM_LOW_KMEM 0x01 |
#define | VM_LOW_PAGES 0x02 |
Functions | |
void | vm_wait (vm_object_t obj) |
int | vm_wait_intr (vm_object_t obj) |
void | vm_waitpfault (struct domainset *, int timo) |
void | vm_wait_domain (int domain) |
void | vm_wait_min (void) |
void | vm_wait_severe (void) |
int | vm_pageout_flush (vm_page_t *, int, int, int, int *, boolean_t *) |
void | vm_pageout_oom (int shortage) |
void | vm_swapout_run (void) |
void | vm_swapout_run_idle (void) |
Variables | |
u_long | vm_page_max_user_wired |
int | vm_pageout_page_count |
#define VM_LOW_KMEM 0x01 |
Definition at line 88 of file vm_pageout.h.
#define VM_LOW_PAGES 0x02 |
Definition at line 89 of file vm_pageout.h.
#define VM_OOM_MEM 1 |
Definition at line 81 of file vm_pageout.h.
#define VM_OOM_MEM_PF 2 |
Definition at line 82 of file vm_pageout.h.
#define VM_OOM_SWAPZ 3 |
Definition at line 83 of file vm_pageout.h.
int vm_pageout_flush | ( | vm_page_t * | mc, |
int | count, | ||
int | flags, | ||
int | mreq, | ||
int * | prunlen, | ||
boolean_t * | eio | ||
) |
Definition at line 471 of file vm_pageout.c.
References vm_object::flags, OBJ_SWAP, PGA_WRITEABLE, VM_OBJECT_ASSERT_WLOCKED, vm_object_pip_add(), vm_object_pip_wakeup(), vm_page_activate(), vm_page_all_valid(), vm_page_busy_downgrade(), vm_page_deactivate_noreuse(), vm_page_in_laundry(), vm_page_sunbusy(), vm_page_undirty(), vm_page_unswappable(), VM_PAGER_AGAIN, VM_PAGER_BAD, VM_PAGER_ERROR, VM_PAGER_FAIL, VM_PAGER_OK, VM_PAGER_PEND, and vm_pager_put_pages().
Referenced by vm_object_page_collect_flush(), and vm_pageout_cluster().
void vm_pageout_oom | ( | int | shortage | ) |
Definition at line 1903 of file vm_pageout.c.
References swap_pager_avail, vmspace::vm_map, vm_map_trylock_read, vm_map_unlock_read, VM_OOM_MEM, VM_OOM_MEM_PF, vm_oom_pf_secs, vm_oom_ratelim_last, vm_oom_ratelim_mtx, VM_OOM_SWAPZ, vm_pageout_oom_pagecount(), vm_panic_on_oom, vmspace_acquire_ref(), vmspace_free(), and vmspace_swap_count().
Referenced by swp_pager_meta_build(), vm_fault_allocate_oom(), and vm_pageout_mightbe_oom().
void vm_swapout_run | ( | void | ) |
Definition at line 336 of file vm_swapout.c.
References vm_req_vmdaemon(), vm_swap_enabled, and VM_SWAP_NORMAL.
Referenced by vm_pageout_inactive().
void vm_swapout_run_idle | ( | void | ) |
Definition at line 348 of file vm_swapout.c.
References vm_req_vmdaemon(), VM_SWAP_IDLE, and vm_swap_idle_enabled.
Referenced by vm_pageout_inactive().
void vm_wait | ( | vm_object_t | obj | ) |
Definition at line 3337 of file vm_page.c.
References vm_wait_flags().
Referenced by vm_fault_copy_entry().
void vm_wait_domain | ( | int | domain | ) |
Definition at line 3284 of file vm_page.c.
References pageproc, VM_DOMAIN, vm_domain_free_assert_unlocked, vm_domainset_lock, vm_wait_doms(), vm_domain::vmd_domain, vm_domain::vmd_pageout_free_min, and vm_domain::vmd_pageout_pages_needed.
Referenced by keg_fetch_slab(), kmem_alloc_contig_pages(), and vm_domain_alloc_fail().
int vm_wait_intr | ( | vm_object_t | obj | ) |
Definition at line 3343 of file vm_page.c.
References vm_wait_flags().
void vm_wait_min | ( | void | ) |
Definition at line 3206 of file vm_page.c.
References vm_domainset_lock, vm_min_domains, and vm_min_waiters.
void vm_wait_severe | ( | void | ) |
Definition at line 3221 of file vm_page.c.
References vm_domainset_lock, vm_severe_domains, and vm_severe_waiters.
void vm_waitpfault | ( | struct domainset * | dset, |
int | timo | ||
) |
Definition at line 3390 of file vm_page.c.
References vm_domainset_lock, vm_min_domains, and vm_min_waiters.
Referenced by vm_fault_allocate().
|
extern |
Definition at line 204 of file vm_pageout.c.
Referenced by kern_mlock(), vm_pageout_init(), and vslock().
|
extern |
Definition at line 152 of file vm_pageout.c.
Referenced by vm_object_page_collect_flush(), vm_pageout_cluster(), vm_pageout_init(), and vm_pageout_init_domain().