Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VM_PAGE_GRAB(9)		 BSD Kernel Developer's	Manual	       VM_PAGE_GRAB(9)

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 ob-
     ject.  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	func-
     tion 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>.

BSD				August 23, 2013				   BSD

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=vm_page_grab&sektion=9&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help