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.

IMPLEMENTATIONNOTES

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