vm_map_lock(9)

vm_map_lock9

Vm_map locking macros

Usage

#include <sys/param.h>

#include <vm/vm.h>

#include <vm/vm_map.h>

void

vm_map_lock(vm_map_t map);

void

vm_map_unlock(vm_map_t map);

void

vm_map_lock_read(vm_map_t map);

void

vm_map_unlock_read(vm_map_t map);

int

vm_map_trylock(vm_map_t map);

int

vm_map_trylock_read(vm_map_t map);

int

vm_map_lock_upgrade(vm_map_t map);

int

vm_map_lock_downgrade(vm_map_t map);

Overview

The vm_map_lock() macro obtains an exclusive lock on map.

The vm_map_unlock() macro releases an exclusive lock on map.

The vm_map_lock_read() macro obtains a read-lock on map. Currently this is implemented as an exclusive lock.

The vm_map_unlock_read() macro releases a read-lock on map.

The vm_map_trylock() macro attempts to obtain an exclusive lock on map. It returns FALSE if the lock cannot be immediately acquired; otherwise return TRUE with the lock acquired.

The vm_map_trylock_read() macro attempts to obtain a read-lock on map. It returns FALSE if the lock cannot be immediately acquired; otherwise return TRUE with the lock acquired. Currently this is implemented as an exclusive lock.

The vm_map_lock_upgrade() macro attempts to atomically upgrade a read-lock on map to an exclusive lock. As read-locks are currently implemented as exclusive locks, this macro is a no-op.

The vm_map_lock_downgrade() macro attempts to downgrade an exclusive lock on map to a read-lock. As read-locks are currently implemented as exclusive locks, this macro is a no-op.

Implementation notes

Currently, all of the locking macros implement their locks as sleep locks.

Authors

This manual page was written by Bruce M Simpson ⟨[email protected]⟩.

From freebsd-manpages 6.0-5 in Debian 4.0 (Etch). Parsed by carta from the page's mdoc source.