FreeBSD virtual memory subsystem code
default_pager.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/lock.h>
#include <sys/proc.h>
#include <sys/resourcevar.h>
#include <sys/rwlock.h>
#include <sys/user.h>
#include <vm/vm.h>
#include <vm/vm_object.h>
#include <vm/vm_page.h>
#include <vm/vm_pager.h>
#include <vm/swap_pager.h>
Include dependency graph for default_pager.c:

Go to the source code of this file.

Functions

 __FBSDID ("$FreeBSD$")
 
static vm_object_t default_pager_alloc (void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t, struct ucred *)
 
static void default_pager_dealloc (vm_object_t)
 
static int default_pager_getpages (vm_object_t, vm_page_t *, int, int *, int *)
 
static void default_pager_putpages (vm_object_t, vm_page_t *, int, boolean_t, int *)
 
static boolean_t default_pager_haspage (vm_object_t, vm_pindex_t, int *, int *)
 
static void default_pager_putpages (vm_object_t object, vm_page_t *m, int count, int flags, int *rtvals)
 

Variables

const struct pagerops defaultpagerops
 

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ default_pager_alloc()

static vm_object_t default_pager_alloc ( void *  handle,
vm_ooffset_t  size,
vm_prot_t  prot,
vm_ooffset_t  offset,
struct ucred *  cred 
)
static

Definition at line 87 of file default_pager.c.

References OBJT_DEFAULT, OFF_TO_IDX, swap_reserve_by_cred(), and vm_object_allocate().

Here is the call graph for this function:

◆ default_pager_dealloc()

static void default_pager_dealloc ( vm_object_t  object)
static

Definition at line 112 of file default_pager.c.

References OBJT_DEAD.

◆ default_pager_getpages()

static int default_pager_getpages ( vm_object_t  object,
vm_page_t *  m,
int  count,
int *  rbehind,
int *  rahead 
)
static

Definition at line 123 of file default_pager.c.

References VM_PAGER_FAIL.

◆ default_pager_haspage()

static boolean_t default_pager_haspage ( vm_object_t  object,
vm_pindex_t  pindex,
int *  before,
int *  after 
)
static

Definition at line 152 of file default_pager.c.

◆ default_pager_putpages() [1/2]

static void default_pager_putpages ( vm_object_t  object,
vm_page_t *  m,
int  count,
int  flags,
int *  rtvals 
)
static

Definition at line 139 of file default_pager.c.

References pagerops::pgo_putpages, and swappagerops.

◆ default_pager_putpages() [2/2]

static void default_pager_putpages ( vm_object_t  ,
vm_page_t *  ,
int  ,
boolean_t  ,
int *   
)
static

Variable Documentation

◆ defaultpagerops

const struct pagerops defaultpagerops
Initial value:
= {
.pgo_kvme_type = KVME_TYPE_DEFAULT,
.pgo_alloc = default_pager_alloc,
.pgo_dealloc = default_pager_dealloc,
.pgo_getpages = default_pager_getpages,
.pgo_putpages = default_pager_putpages,
.pgo_haspage = default_pager_haspage,
}
static vm_object_t default_pager_alloc(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t, struct ucred *)
Definition: default_pager.c:87
static int default_pager_getpages(vm_object_t, vm_page_t *, int, int *, int *)
static void default_pager_dealloc(vm_object_t)
static void default_pager_putpages(vm_object_t, vm_page_t *, int, boolean_t, int *)
static boolean_t default_pager_haspage(vm_object_t, vm_pindex_t, int *, int *)

Definition at line 74 of file default_pager.c.