vm_map_lock, vm_map_unlock, vm_map_lock_read, vm_map_unlock_read, vm_map_trylock, vm_map_trylock_read,
Contents
Description
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.
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.
The vm_map_lock_upgrade() macro attempts to atomically upgrade a read-lock on map to an exclusive lock.
The vm_map_lock_downgrade() macro attempts to downgrade an exclusive lock on map to a read-lock.
Implementation Notes
Currently, all of the locking macros implement their locks as sleep locks.
Name
vm_map_lock, vm_map_unlock, vm_map_lock_read, vm_map_unlock_read, vm_map_trylock, vm_map_trylock_read,
vm_map_lock_upgrade, vm_map_lock_downgrade — vm_map locking macros
See Also
vm_map(9)
Synopsis
#include<sys/param.h>#include<vm/vm.h>#include<vm/vm_map.h>voidvm_map_lock(vm_map_tmap);
voidvm_map_unlock(vm_map_tmap);
voidvm_map_lock_read(vm_map_tmap);
voidvm_map_unlock_read(vm_map_tmap);
intvm_map_trylock(vm_map_tmap);
intvm_map_trylock_read(vm_map_tmap);
intvm_map_lock_upgrade(vm_map_tmap);
intvm_map_lock_downgrade(vm_map_tmap);
