vm_page_alloc(9)

NAME

vm_page_alloc - allocate a page for a vm_object

SYNOPSIS

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_page.h>
vm_page_t
vm_page_alloc(vm_object_t object,  vm_pindex_t  pindex,  int
page_req);

DESCRIPTION

The vm_page_alloc() function allocates a page at pindex
within object.
It is assumed that a page has not already been allocated at
pindex. The
page returned is inserted into the object, but is not in
serted into the
pmap.
vm_page_alloc() will not block.
Its arguments are:
object The VM object to allocate the page for.
pindex The index into the object at which the page
should be
inserted.
page_req A flag indicating how the page should be allo
cated.

VM_ALLOC_NORMAL The page should be al
located with
no special treatment.
VM_ALLOC_SYSTEM The page can be allo
cated if the
cache queue is empty
and the free
page count is above
the interrupt
reserved water mark.
If
VM_ALLOC_INTERRUPT is
set, the page
can be allocated as
long as the
free page count is
greater than
zero. This flag
should be used
only when the system
really needs
the page.
VM_ALLOC_INTERRUPT vm_page_alloc() is be
ing called
during an interrupt
and therefore
the cache cannot be
accessed. The
page will only be re
turned successfully if the free
count is greater
than zero.
VM_ALLOC_ZERO Indicate a preference
for a pre
zeroed page. There is
no guarantee
that the page thus re
turned will be
zeroed, but it will be
marked as
such.
VM_ALLOC_NOOBJ The page is associated
with an
unmanaged memory re
gion, that is,
there is no backing VM
object.
This is typically used
to allocate
pages within the ker
nel virtual
address space.

RETURN VALUES

The vm_page_t that was allocated is returned if successful;
otherwise,
NULL is returned.

NOTES

The pager process is always upgraded to VM_ALLOC_SYSTEM un
less
VM_ALLOC_INTERRUPT is set.

AUTHORS

This manual page was written by Chad David <davidc@ac
ns.ab.ca>.
BSD July 13, 2001
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout