vm_map_wire(9)

NAME

vm_map_wire, vm_map_unwire - manage page wiring within a
virtual memory
map

SYNOPSIS

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>
int
vm_map_wire(vm_map_t  map,  vm_offset_t  start,  vm_offset_t
end, int flags);
int
vm_map_unwire(vm_map_t map, vm_offset_t  start,  vm_offset_t
end,
        int flags);

DESCRIPTION

The vm_map_wire() function is responsible for wiring pages
in the range
between start and end within the map map. Wired pages are
locked into
physical memory, and may not be paged out as long as their
wire count
remains above zero.
The vm_map_unwire() function performs the corresponding un
wire operation.
The flags argument is a bit mask, consisting of the follow
ing flags:
If the VM_MAP_WIRE_USER flag is set, the function operates
within user
address space.
If the VM_MAP_WIRE_HOLESOK flag is set, it may operate upon
an arbitrary
range within the address space of map.
If a contiguous range is desired, callers should explicitly
express their
intent by specifying the VM_MAP_WIRE_NOHOLES flag.

IMPLEMENTATION NOTES

Both functions will attempt to acquire a lock on the map us
ing
vm_map_lock(9) and hold it for the duration of the call. If
they detect
MAP_ENTRY_IN_TRANSITION, they will call vm_map_un
lock_and_wait(9) until
the map becomes available again.
The map could have changed during this window as it was held
by another
consumer, therefore consumers of this interface should check
for this
condition using the return values below.

RETURN VALUES

The vm_map_wire() and vm_map_unwire() functions have identi
cal return
values. The functions return KERN_SUCCESS if all pages
within the range
were [un]wired successfully.
Otherwise, if the specified range was not valid, or if the
map changed
while the MAP_ENTRY_IN_TRANSITION flag was set, KERN_IN
VALID_ADDRESS is
returned.

SEE ALSO

mlockall(2), munlockall(2), vm_map(9)

AUTHORS

This manual page was written by Bruce M Simpson
<bms@spc.org>.
BSD July 19, 2003
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout