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

FreeBSD Manual Pages

  
 
  

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

NAME
     vm_page_free, vm_page_free_toq, vm_page_free_zero,	vm_page_try_to_free --
     free a page

SYNOPSIS
     #include <sys/param.h>
     #include <vm/vm.h>
     #include <vm/vm_page.h>

     void
     vm_page_free(vm_page_t m);

     void
     vm_page_free_toq(vm_page_t	m);

     void
     vm_page_free_zero(vm_page_t m);

     int
     vm_page_try_to_free(vm_page_t m);

DESCRIPTION
     The vm_page_free_toq() function moves a page into the free	queue, and
     disassociates it from its object.	If the page is held, wired, already
     free, or its busy count is	not zero, the system will panic.  If the
     PG_ZERO flag is set on the	page, it is placed at the end of the free
     queue; otherwise, it is placed at the front.

     If	the page's object is of	type OBJT_VNODE	and it is the last page	asso-
     ciated with the object, the underlying vnode may be freed.

     The vm_page_free()	and vm_page_free_zero()	functions both call
     vm_page_free_toq()	to actually free the page, but vm_page_free_zero()
     sets the PG_ZERO flag and vm_page_free() clears the PG_ZERO flag prior to
     the call to vm_page_free_toq().

     The vm_page_try_to_free() function	verifies that the page is not held,
     wired, busy or dirty, and if so, marks the	page as	busy, drops any	pro-
     tection that may be set on	the page, and frees it.

RETURN VALUES
     vm_page_try_to_free() returns 1 if	it is able to free the page; other-
     wise, 0 is	returned.

SEE ALSO
     vm_page_busy(9), vm_page_hold(9), vm_page_wire(9)

AUTHORS
     This manual page was written by Chad David	<davidc@acns.ab.ca>.

BSD				 July 24, 2001				   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_free&sektion=9&manpath=FreeBSD+10.2-RELEASE+and+Ports>

home | help