FreeBSD virtual memory subsystem code
vm_domain Struct Reference

#include <vm_pagequeue.h>

Collaboration diagram for vm_domain:

Data Structures

struct  vm_pgcache
 

Public Types

enum  { VM_LAUNDRY_IDLE = 0 , VM_LAUNDRY_BACKGROUND , VM_LAUNDRY_SHORTFALL }
 

Public Member Functions

u_int __aligned (CACHE_LINE_SIZE) vmd_free_count
 

Data Fields

struct vm_pagequeue vmd_pagequeues [PQ_COUNT]
 
struct mtx_padalign vmd_free_mtx
 
struct mtx_padalign vmd_pageout_mtx
 
struct vm_domain::vm_pgcache vmd_pgcache [VM_NFREEPOOL]
 
struct vmem * vmd_kernel_arena
 
struct vmem * vmd_kernel_rwx_arena
 
u_int vmd_domain
 
u_int vmd_page_count
 
long vmd_segs
 
u_int vmd_pageout_deficit
 
uint8_t vmd_pad [CACHE_LINE_SIZE -(sizeof(u_int) *2)]
 
struct pidctrl vmd_pid
 
boolean_t vmd_oom
 
u_int vmd_inactive_threads
 
u_int vmd_inactive_shortage
 
blockcount_t vmd_inactive_running
 
blockcount_t vmd_inactive_starting
 
volatile u_int vmd_addl_shortage
 
volatile u_int vmd_inactive_freed
 
volatile u_int vmd_inactive_us
 
u_int vmd_inactive_pps
 
int vmd_oom_seq
 
int vmd_last_active_scan
 
struct vm_page vmd_markers [PQ_COUNT]
 
struct vm_page vmd_inacthead
 
struct vm_page vmd_clock [2]
 
int vmd_pageout_wanted
 
int vmd_pageout_pages_needed
 
bool vmd_minset
 
bool vmd_severeset
 
enum vm_domain:: { ... }  vmd_laundry_request
 
u_int vmd_clean_pages_freed
 
u_int vmd_background_launder_target
 
u_int vmd_free_reserved
 
u_int vmd_free_target
 
u_int vmd_free_min
 
u_int vmd_inactive_target
 
u_int vmd_pageout_free_min
 
u_int vmd_pageout_wakeup_thresh
 
u_int vmd_interrupt_free_min
 
u_int vmd_free_severe
 
struct sysctl_oid * vmd_oid
 
char vmd_name [sizeof(__XSTRING(MAXMEMDOM))]
 

Detailed Description

Definition at line 237 of file vm_pagequeue.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
VM_LAUNDRY_IDLE 
VM_LAUNDRY_BACKGROUND 
VM_LAUNDRY_SHORTFALL 

Definition at line 276 of file vm_pagequeue.h.

Member Function Documentation

◆ __aligned()

u_int vm_domain::__aligned ( CACHE_LINE_SIZE  )

Field Documentation

◆ vmd_addl_shortage

volatile u_int vm_domain::vmd_addl_shortage

Definition at line 262 of file vm_pagequeue.h.

Referenced by vm_pageout_inactive(), and vm_pageout_scan_inactive().

◆ vmd_background_launder_target

u_int vm_domain::vmd_background_launder_target

Definition at line 284 of file vm_pagequeue.h.

Referenced by vm_pageout_init_domain(), and vm_pageout_laundry_worker().

◆ vmd_clean_pages_freed

u_int vm_domain::vmd_clean_pages_freed

Definition at line 283 of file vm_pagequeue.h.

Referenced by vm_pageout_inactive(), and vm_pageout_laundry_worker().

◆ vmd_clock

struct vm_page vm_domain::vmd_clock[2]

Definition at line 270 of file vm_pagequeue.h.

Referenced by vm_page_domain_init(), and vm_pageout_scan_active().

◆ vmd_domain

◆ vmd_free_min

◆ vmd_free_mtx

struct mtx_padalign vm_domain::vmd_free_mtx

Definition at line 239 of file vm_pagequeue.h.

Referenced by vm_page_domain_init().

◆ vmd_free_reserved

u_int vm_domain::vmd_free_reserved

◆ vmd_free_severe

◆ vmd_free_target

u_int vm_domain::vmd_free_target

◆ vmd_inacthead

struct vm_page vm_domain::vmd_inacthead

Definition at line 269 of file vm_pagequeue.h.

Referenced by _vm_page_pqstate_commit_requeue(), and vm_page_domain_init().

◆ vmd_inactive_freed

volatile u_int vm_domain::vmd_inactive_freed

Definition at line 263 of file vm_pagequeue.h.

Referenced by vm_pageout_inactive_dispatch(), and vm_pageout_scan_inactive().

◆ vmd_inactive_pps

u_int vm_domain::vmd_inactive_pps

Definition at line 265 of file vm_pagequeue.h.

Referenced by vm_domain_stats_init(), and vm_pageout_inactive_dispatch().

◆ vmd_inactive_running

blockcount_t vm_domain::vmd_inactive_running

Definition at line 260 of file vm_pagequeue.h.

Referenced by vm_pageout_helper(), and vm_pageout_inactive_dispatch().

◆ vmd_inactive_shortage

u_int vm_domain::vmd_inactive_shortage

Definition at line 259 of file vm_pagequeue.h.

Referenced by vm_pageout_helper(), and vm_pageout_inactive_dispatch().

◆ vmd_inactive_starting

blockcount_t vm_domain::vmd_inactive_starting

Definition at line 261 of file vm_pagequeue.h.

Referenced by vm_pageout_helper(), and vm_pageout_inactive_dispatch().

◆ vmd_inactive_target

u_int vm_domain::vmd_inactive_target

◆ vmd_inactive_threads

u_int vm_domain::vmd_inactive_threads

Definition at line 258 of file vm_pagequeue.h.

Referenced by vm_pageout_inactive_dispatch(), and vm_pageout_init_domain().

◆ vmd_inactive_us

volatile u_int vm_domain::vmd_inactive_us

Definition at line 264 of file vm_pagequeue.h.

Referenced by vm_pageout_inactive_dispatch(), and vm_pageout_scan_inactive().

◆ vmd_interrupt_free_min

u_int vm_domain::vmd_interrupt_free_min

◆ vmd_kernel_arena

struct vmem* vm_domain::vmd_kernel_arena

◆ vmd_kernel_rwx_arena

struct vmem* vm_domain::vmd_kernel_rwx_arena

Definition at line 247 of file vm_pagequeue.h.

Referenced by _kmem_unback(), kmem_init(), and kmem_malloc_domain().

◆ vmd_last_active_scan

int vm_domain::vmd_last_active_scan

Definition at line 267 of file vm_pagequeue.h.

Referenced by vm_pageout_scan_active(), and vm_pageout_worker().

◆ 

enum { ... } vm_domain::vmd_laundry_request

◆ vmd_markers

struct vm_page vm_domain::vmd_markers[PQ_COUNT]

Definition at line 268 of file vm_pagequeue.h.

Referenced by vm_page_domain_init(), vm_pageout_launder(), and vm_pageout_scan_active().

◆ vmd_minset

bool vm_domain::vmd_minset

Definition at line 274 of file vm_pagequeue.h.

Referenced by vm_domain_clear(), and vm_domain_set().

◆ vmd_name

char vm_domain::vmd_name[sizeof(__XSTRING(MAXMEMDOM))]

Definition at line 296 of file vm_pagequeue.h.

Referenced by vm_domain_stats_init(), and vm_page_domain_init().

◆ vmd_oid

struct sysctl_oid* vm_domain::vmd_oid

Definition at line 295 of file vm_pagequeue.h.

Referenced by vm_domain_stats_init(), and vm_pageout_init_domain().

◆ vmd_oom

boolean_t vm_domain::vmd_oom

Definition at line 257 of file vm_pagequeue.h.

Referenced by vm_page_domain_init(), and vm_pageout_mightbe_oom().

◆ vmd_oom_seq

int vm_domain::vmd_oom_seq

Definition at line 266 of file vm_pagequeue.h.

Referenced by vm_pageout_mightbe_oom().

◆ vmd_pad

uint8_t vm_domain::vmd_pad[CACHE_LINE_SIZE -(sizeof(u_int) *2)]

Definition at line 253 of file vm_pagequeue.h.

◆ vmd_page_count

u_int vm_domain::vmd_page_count

◆ vmd_pageout_deficit

u_int vm_domain::vmd_pageout_deficit

◆ vmd_pageout_free_min

u_int vm_domain::vmd_pageout_free_min

◆ vmd_pageout_mtx

struct mtx_padalign vm_domain::vmd_pageout_mtx

Definition at line 240 of file vm_pagequeue.h.

Referenced by vm_page_domain_init().

◆ vmd_pageout_pages_needed

int vm_domain::vmd_pageout_pages_needed

Definition at line 273 of file vm_pagequeue.h.

Referenced by vm_domain_clear(), and vm_wait_domain().

◆ vmd_pageout_wakeup_thresh

u_int vm_domain::vmd_pageout_wakeup_thresh

Definition at line 290 of file vm_pagequeue.h.

Referenced by vm_pageout_init_domain().

◆ vmd_pageout_wanted

int vm_domain::vmd_pageout_wanted

Definition at line 272 of file vm_pagequeue.h.

Referenced by pagedaemon_wakeup(), and vm_pageout_worker().

◆ vmd_pagequeues

◆ vmd_pgcache

◆ vmd_pid

struct pidctrl vm_domain::vmd_pid

Definition at line 256 of file vm_pagequeue.h.

Referenced by vm_pageout_init_domain(), and vm_pageout_worker().

◆ vmd_segs

long vm_domain::vmd_segs

◆ vmd_severeset

bool vm_domain::vmd_severeset

Definition at line 275 of file vm_pagequeue.h.

Referenced by vm_domain_clear(), vm_domain_set(), and vm_page_zone_import().


The documentation for this struct was generated from the following file: