table of contents
| VM_PAGE_FREE(9) | 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 —
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¶
Thevm_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 associated 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 protection 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; otherwise, 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>.| July 24, 2001 | Linux 4.9.0-9-amd64 |