NAME¶
vm_page_grab
—
returns a page from an object
SYNOPSIS¶
#include
<sys/param.h>
#include
<vm/vm.h>
#include
<vm/vm_page.h>
vm_page_t
vm_page_grab
(
vm_object_t
object,
vm_pindex_t
pindex,
int
allocflags);
DESCRIPTION¶
The
vm_page_grab
() function returns the page
at
pindex from the given object. If the page
exists and is busy,
vm_page_grab
() will
sleep while waiting for it. If the page does not exist, it is allocated. The
function sleeps until the allocation request can be satisfied.
The function requires the
object to be locked
on entry, and returns with the object locked. If the
vm_page_grab
() function sleeps for any
reason, the object lock is temporary dropped.
The
vm_page_grab
() supports all of the flags
supported by
vm_page_alloc(9). In addition,
vm_page_grab
() supports the following
flags:
VM_ALLOC_IGN_SBUSY
- When waiting for the busy state of the existing page to drain, only test
for exclusive busy; ignore the shared busy counter.
RETURN VALUES¶
The
vm_page_grab
() always returns the page.
SEE ALSO¶
vm_page_alloc(9)
AUTHORS¶
This manual page was written by
Chad David
⟨davidc@acns.ab.ca⟩.