Searched refs:rw_lock (Results 1 – 5 of 5) sorted by relevance
| /NextBSD/sys/kern/ |
| HD | kern_rwlock.c | 102 ((rw)->rw_lock & RW_LOCK_READ ? NULL : \ 103 (struct thread *)RW_OWNER((rw)->rw_lock)) 153 if (rw->rw_lock & RW_LOCK_READ) { in unlock_rw() 167 uintptr_t x = rw->rw_lock; in owner_rw() 185 ASSERT_ATOMIC_LOAD_PTR(rw->rw_lock, in _rw_init_flags() 187 &rw->rw_lock)); in _rw_init_flags() 204 rw->rw_lock = RW_UNLOCKED; in _rw_init_flags() 215 KASSERT(rw->rw_lock == RW_UNLOCKED, ("rw lock %p not unlocked", rw)); in _rw_destroy() 217 rw->rw_lock = RW_DESTROYED; in _rw_destroy() 258 KASSERT(rw->rw_lock != RW_DESTROYED, in _rw_wlock_cookie() [all …]
|
| /NextBSD/sys/sys/ |
| HD | rwlock.h | 84 atomic_cmpset_acq_ptr(&(rw)->rw_lock, RW_UNLOCKED, (tid)) 88 atomic_cmpset_rel_ptr(&(rw)->rw_lock, (tid), RW_UNLOCKED) 125 #define rwlock2rw(c) (__containerof(c, struct rwlock, rw_lock)) 181 v = rw->rw_lock; in __rw_rlock() 183 if (RW_CAN_READ_TD(td, v) && atomic_cmpset_acq_ptr(&rw->rw_lock, v, v + RW_ONE_READER)) { in __rw_rlock() 200 v = rw->rw_lock; in __rw_runlock() 202 …if ((!(v & RW_LOCK_WAITERS) || (RW_READERS(v) > 1)) && atomic_cmpset_rel_ptr(&rw->rw_lock, v, v - … in __rw_runlock() 217 _rw_init_flags(&(rw)->rw_lock, n, 0) 219 _rw_init_flags(&(rw)->rw_lock, n, o) 221 _rw_destroy(&(rw)->rw_lock) [all …]
|
| HD | _rwlock.h | 45 volatile uintptr_t rw_lock; member 59 volatile uintptr_t rw_lock; member
|
| /NextBSD/cddl/contrib/opensolaris/lib/libzpool/common/ |
| HD | kernel.c | 189 rwlock_init(&rwlp->rw_lock, USYNC_THREAD, NULL); in rw_init() 199 rwlock_destroy(&rwlp->rw_lock); in rw_destroy() 213 VERIFY(rw_rdlock(&rwlp->rw_lock) == 0); in rw_enter() 217 VERIFY(rw_wrlock(&rwlp->rw_lock) == 0); in rw_enter() 240 VERIFY(rw_unlock(&rwlp->rw_lock) == 0); in rw_exit() 253 rv = rw_tryrdlock(&rwlp->rw_lock); in rw_tryenter() 255 rv = rw_trywrlock(&rwlp->rw_lock); in rw_tryenter()
|
| /NextBSD/cddl/contrib/opensolaris/lib/libzpool/common/sys/ |
| HD | zfs_context.h | 287 rwlock_t rw_lock; member
|