Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
VM_MAP_WIRE(9)	       FreeBSD Kernel Developer's Manual	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 unwire operation.

     The flags argument	is a bit mask, consisting of the following 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 using
     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_unlock_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 identical 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_INVALID_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>.

FreeBSD	10.1			 July 19, 2003			  FreeBSD 10.1

NAME | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | RETURN VALUES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=vm_map_wire&sektion=9&manpath=FreeBSD+9.3-RELEASE>

home | help