vm_page_wire(9)

vm_page_wire9

Wire and unwire pages

Usage

#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);

Overview

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.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 33 times.

  1. 5.0–5.5
  2. 6.0–6.3
  3. 6.4
  4. 7.0
  5. 7.1
  6. 7.2
  7. 7.3
  8. 7.4
  9. 8.0
  10. 8.1
  11. 8.2
  12. 8.3
  13. 8.4
  14. 9.0
  15. 9.1
  16. 9.2
  17. 9.3
  18. 10.0
  19. 10.1
  20. 10.2
  21. 10.3
  22. 10.4
  23. 11.0
  24. 11.1
  25. 11.2
  26. 11.3
  27. 11.4
  28. 12.0
  29. 12.1
  30. 12.2
  31. 12.3
  32. 12.4
  33. 13.0–13.2
  34. 13.3–16.0

Authors

This manual page was written by Chad David ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.