xref: /freebsd/share/man/man9/vm_map_lock.9 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
17d216f0fSBruce M Simpson.\"
27d216f0fSBruce M Simpson.\" Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
37d216f0fSBruce M Simpson.\" All rights reserved.
47d216f0fSBruce M Simpson.\"
57d216f0fSBruce M Simpson.\" Redistribution and use in source and binary forms, with or without
67d216f0fSBruce M Simpson.\" modification, are permitted provided that the following conditions
77d216f0fSBruce M Simpson.\" are met:
87d216f0fSBruce M Simpson.\" 1. Redistributions of source code must retain the above copyright
97d216f0fSBruce M Simpson.\"    notice, this list of conditions and the following disclaimer.
107d216f0fSBruce M Simpson.\" 2. Redistributions in binary form must reproduce the above copyright
117d216f0fSBruce M Simpson.\"    notice, this list of conditions and the following disclaimer in the
127d216f0fSBruce M Simpson.\"    documentation and/or other materials provided with the distribution.
137d216f0fSBruce M Simpson.\"
147d216f0fSBruce M Simpson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
157d216f0fSBruce M Simpson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
167d216f0fSBruce M Simpson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
177d216f0fSBruce M Simpson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
187d216f0fSBruce M Simpson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
197d216f0fSBruce M Simpson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
207d216f0fSBruce M Simpson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
217d216f0fSBruce M Simpson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
227d216f0fSBruce M Simpson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
237d216f0fSBruce M Simpson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
247d216f0fSBruce M Simpson.\" SUCH DAMAGE.
257d216f0fSBruce M Simpson.\"
267d216f0fSBruce M Simpson.Dd July 19, 2003
27a970c85cSRuslan Ermilov.Dt VM_MAP_LOCK 9
28b4ca3754SRuslan Ermilov.Os
297d216f0fSBruce M Simpson.Sh NAME
307d216f0fSBruce M Simpson.Nm vm_map_lock ,
317d216f0fSBruce M Simpson.Nm vm_map_unlock ,
327d216f0fSBruce M Simpson.Nm vm_map_lock_read ,
337d216f0fSBruce M Simpson.Nm vm_map_unlock_read ,
347d216f0fSBruce M Simpson.Nm vm_map_trylock ,
357d216f0fSBruce M Simpson.Nm vm_map_trylock_read ,
367d216f0fSBruce M Simpson.Nm vm_map_lock_upgrade ,
377d216f0fSBruce M Simpson.Nm vm_map_lock_downgrade
387d216f0fSBruce M Simpson.Nd vm_map locking macros
397d216f0fSBruce M Simpson.Sh SYNOPSIS
407d216f0fSBruce M Simpson.In sys/param.h
417d216f0fSBruce M Simpson.In vm/vm.h
427d216f0fSBruce M Simpson.In vm/vm_map.h
437d216f0fSBruce M Simpson.Ft void
447d216f0fSBruce M Simpson.Fn vm_map_lock "vm_map_t map"
457d216f0fSBruce M Simpson.Ft void
467d216f0fSBruce M Simpson.Fn vm_map_unlock "vm_map_t map"
477d216f0fSBruce M Simpson.Ft void
487d216f0fSBruce M Simpson.Fn vm_map_lock_read "vm_map_t map"
497d216f0fSBruce M Simpson.Ft void
507d216f0fSBruce M Simpson.Fn vm_map_unlock_read "vm_map_t map"
517d216f0fSBruce M Simpson.Ft int
527d216f0fSBruce M Simpson.Fn vm_map_trylock "vm_map_t map"
537d216f0fSBruce M Simpson.Ft int
547d216f0fSBruce M Simpson.Fn vm_map_trylock_read "vm_map_t map"
557d216f0fSBruce M Simpson.Ft int
567d216f0fSBruce M Simpson.Fn vm_map_lock_upgrade "vm_map_t map"
577d216f0fSBruce M Simpson.Ft int
587d216f0fSBruce M Simpson.Fn vm_map_lock_downgrade "vm_map_t map"
597d216f0fSBruce M Simpson.Sh DESCRIPTION
607d216f0fSBruce M SimpsonThe
617d216f0fSBruce M Simpson.Fn vm_map_lock
627d216f0fSBruce M Simpsonmacro obtains an exclusive lock on
637d216f0fSBruce M Simpson.Fa map .
647d216f0fSBruce M Simpson.Pp
657d216f0fSBruce M SimpsonThe
667d216f0fSBruce M Simpson.Fn vm_map_unlock
677d216f0fSBruce M Simpsonmacro releases an exclusive lock on
687d216f0fSBruce M Simpson.Fa map .
697d216f0fSBruce M Simpson.Pp
707d216f0fSBruce M SimpsonThe
717d216f0fSBruce M Simpson.Fn vm_map_lock_read
727d216f0fSBruce M Simpsonmacro obtains a read-lock on
737d216f0fSBruce M Simpson.Fa map .
747d216f0fSBruce M Simpson.Pp
757d216f0fSBruce M SimpsonThe
767d216f0fSBruce M Simpson.Fn vm_map_unlock_read
777d216f0fSBruce M Simpsonmacro releases a read-lock on
787d216f0fSBruce M Simpson.Fa map .
797d216f0fSBruce M Simpson.Pp
807d216f0fSBruce M SimpsonThe
817d216f0fSBruce M Simpson.Fn vm_map_trylock
827d216f0fSBruce M Simpsonmacro attempts to obtain an exclusive lock on
837d216f0fSBruce M Simpson.Fa map .
847d216f0fSBruce M SimpsonIt returns FALSE if the lock cannot be immediately acquired;
857d216f0fSBruce M Simpsonotherwise return TRUE with the lock acquired.
867d216f0fSBruce M Simpson.Pp
877d216f0fSBruce M SimpsonThe
887d216f0fSBruce M Simpson.Fn vm_map_trylock_read
897d216f0fSBruce M Simpsonmacro attempts to obtain a read-lock on
907d216f0fSBruce M Simpson.Fa map .
917d216f0fSBruce M SimpsonIt returns FALSE if the lock cannot be immediately acquired;
927d216f0fSBruce M Simpsonotherwise return TRUE with the lock acquired.
937d216f0fSBruce M Simpson.Pp
947d216f0fSBruce M SimpsonThe
957d216f0fSBruce M Simpson.Fn vm_map_lock_upgrade
967d216f0fSBruce M Simpsonmacro attempts to atomically upgrade a read-lock on
977d216f0fSBruce M Simpson.Fa map
987d216f0fSBruce M Simpsonto an exclusive lock.
997d216f0fSBruce M Simpson.Pp
1007d216f0fSBruce M SimpsonThe
1017d216f0fSBruce M Simpson.Fn vm_map_lock_downgrade
1027d216f0fSBruce M Simpsonmacro attempts to downgrade an exclusive lock on
1037d216f0fSBruce M Simpson.Fa map
1047d216f0fSBruce M Simpsonto a read-lock.
1057d216f0fSBruce M Simpson.Sh IMPLEMENTATION NOTES
1067d216f0fSBruce M SimpsonCurrently, all of the locking macros implement their locks as sleep locks.
1077d216f0fSBruce M Simpson.Sh SEE ALSO
1087d216f0fSBruce M Simpson.Xr vm_map 9
1097d216f0fSBruce M Simpson.Sh AUTHORS
110571dba6eSHiten PandyaThis manual page was written by
111*8a7314fcSBaptiste Daroussin.An Bruce M Simpson Aq Mt bms@spc.org .
112