Lines Matching +full:non +full:- +full:exclusive
1 .\" Copyright (c) 2007 Julian Elischer (julian - freebsd org )
79 or exclusive access by a single thread.
83 A thread with exclusive access is known as a
89 with shared/exclusive semantics.
91 but priority is propagated only to an exclusive holder.
98 .Ss Read-Mostly Locks
99 Read-mostly locks are similar to
102 .Em Read-mostly
104 using a caller-supplied
111 .Ss Sleepable Read-Mostly Locks
112 Sleepable read-mostly locks are a variation on read-mostly locks.
113 Threads holding an exclusive lock may sleep,
115 Priority is propagated to shared owners but not to exclusive owners.
116 .Ss Shared/exclusive locks
117 Shared/exclusive locks are similar to reader/writer locks; the main difference
118 between them is that shared/exclusive locks may be held during unbounded sleep.
119 Acquiring a contested shared/exclusive lock can perform an unbounded sleep.
126 Lockmanager locks are sleepable shared/exclusive locks used mostly in
146 .Ss Non-blocking synchronization
151 which can be used to provide read-only access to a data structure while one or
160 Thus, they are a useful building block in the construction of lock-free
164 in preference to traditional mutual exclusion-based synchronization,
165 except when performance or non-blocking guarantees are a major concern.
193 reader/writer locks, read-mostly locks, and shared/exclusive locks.
207 also handle event-based thread blocking.
280 .Bl -enum
286 Note that infrastructure to do this is slowly going away as non-MPSAFE
289 Giant must be locked before other non-sleepable locks.
330 mutexes, reader/writer locks and read-mostly locks.
333 sleepable read-mostly locks, shared/exclusive locks, lockmanager locks,
336 .Bl -bullet
343 For example, it is an error to try to acquire a shared/exclusive lock while
374 .Bl -column ".Ic xxxxxxxxxxxxxxxx" ".Xr XXXXXXXXX" ".Xr XXXXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXXXX" ".…
376 .It Em "You have: " Ta -------- Ta -------- Ta ------ Ta -------- Ta ------ Ta ------
377 .It spin mtx Ta \&ok Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no-1
378 .It mutex/rw Ta \&ok Ta \&ok Ta \&ok Ta \&no Ta \&no Ta \&no-1
379 .It rmlock Ta \&ok Ta \&ok Ta \&ok Ta \&no Ta \&no Ta \&no-1
380 .It sleep rm Ta \&ok Ta \&ok Ta \&ok Ta \&ok-2 Ta \&ok-2 Ta \&ok-2/3
381 .It sx Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok-3
397 read-mostly lock.
406 Note that non-blocking try operations on locks are always permitted.
410 .Bl -column ".Ic Xxxxxxxxxxxxxxxxxxx" ".Xr XXXXXXXXX" ".Xr XXXXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXXXX"…