vm_fault_prefault(9)

vm_fault_prefault9

Cluster page faults into a process's address space

Usage

#include <sys/param.h>

#include <vm/vm.h>

#include <vm/pmap.h>

void

vm_fault_prefault(pmap_t pmap, vm_offset_t addra, vm_map_entry_t entry);

Overview

The vm_fault_prefault() function provides a means of clustering pagefaults into a process's address space. It operates upon the physical map pmap. The entry argument specifies the entry to be prefaulted; the addra argument specifies the beginning of the mapping in the process's virtual address space.

It is typically called by vm_fault() after the first page fault. It benefits the execve(2) system call by eliminating repetitive calls to vm_fault(), which would otherwise be made to bring the process's executable pages into physical memory.

Implementation notes

This is a machine-independent function which calls the machine-dependent pmap_is_prefaultable(9) helper function to determine if a page may be prefaulted into physical memory.

Releases

54 releases since FreeBSD 5.2-RELEASE; the text changed 33 times.

  1. 5.2–5.2.1
  2. 5.3–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 Bruce M Simpson ⟨[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.