Manpages

VM_FAULT_PREFAULT(9) BSD 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 [AT] spc.org>.

BSD July 21, 2003 BSD