FreeBSD manual

download PDF document: vm_fault_prefault.9.pdf

VM_FAULT_PREFAULT(9) FreeBSD Kernel Developer's Manual VM_FAULT_PREFAULT(9)
NAME vm_fault_prefault - cluster page faults into a process's address space
SYNOPSIS #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);
DESCRIPTION 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.
SEE ALSO execve(2), pmap_is_prefaultable(9)
AUTHORS This manual page was written by Bruce M Simpson <bms@spc.org>.
FreeBSD 14.0-RELEASE-p11 July 21, 2003 FreeBSD 14.0-RELEASE-p11