FreeBSD manual
download PDF document: vm_page_wire.9.pdf
VM_PAGE_WIRE(9) FreeBSD Kernel Developer's Manual VM_PAGE_WIRE(9)
NAME
vm_page_wire, vm_page_unwire, vm_page_unwire_noq - wire and unwire pages
SYNOPSIS
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_page.h>
void
vm_page_wire(vm_page_t m);
bool
vm_page_wire_mapped(vm_page_t m);
void
vm_page_unwire(vm_page_t m, int queue);
bool
vm_page_unwire_noq(vm_page_t m);
DESCRIPTION
The vm_page_wire() and vm_page_wire_mapped() functions wire the page,
which prevents it from being reclaimed by the page daemon or when its
containing object is destroyed. Both functions require that the page
belong to an object. The vm_page_wire_mapped() function is for use by
the pmap(9) layer following a lookup. This function may fail if mappings
of the page are concurrently being destroyed, in which case it will
return false.
The vm_page_unwire() and vm_page_unwire_noq() functions release a wiring
of a page. The vm_page_unwire() function takes a queue index and will
insert the page into the corresponding page queue upon releasing its last
wiring. If the page does not belong to an object and no other references
to the page exist, vm_page_unwire() will free the page.
vm_page_unwire_noq() releases the wiring and returns true if it was the
last wiring of the page.
AUTHORS
This manual page was written by Chad David <davidc@acns.ab.ca>.
FreeBSD 14.0-RELEASE-p11 September 9, 2019 FreeBSD 14.0-RELEASE-p11