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@spc.org>.
BSD July 21, 2003 BSD
Check Out this Related Man Page
PMAP_EXTRACT(9) BSD Kernel Developer's Manual PMAP_EXTRACT(9)NAME
pmap_extract, pmap_extract_and_hold -- map a virtual address to a physical page
SYNOPSIS
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/pmap.h>
vm_paddr_t
pmap_extract(pmap_t pmap, vm_offset_t va);
vm_paddr_t
pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot);
DESCRIPTION
The pmap_extract() function maps a virtual address to a physical page. In certain situations, callers may use pmap_extract_and_hold()
instead, to ensure that the returned page is held.
The pmap_extract_and_hold() function maps a virtual address to a physical page, and atomically holds the returned page for use by the caller,
only if the mapping permits the given page protection.
IMPLEMENTATION NOTES
Currently, the page protection requested by the caller is not verified.
RETURN VALUES
The pmap_extract() function will return the physical page address associated with the virtual address va inside the physical map pmap. If
the mapping does not exist, or if the pmap parameter is NULL, then NULL will be returned.
The pmap_extract_and_hold() function will return the physical page address associated with the virtual address va inside the physical map
pmap. If the mapping does not exist, the result is a no-op, and NULL will be returned.
SEE ALSO mutex(9), pmap(9)AUTHORS
The pmap_extract_and_hold() function was implemented by Alan L. Cox <alc@imimic.com>. This manual page was written by Bruce M Simpson
<bms@spc.org>.
BSD July 21, 2003 BSD