Home
last modified time | relevance | path

Searched refs:rw_lock (Results 1 – 5 of 5) sorted by relevance

/NextBSD/sys/kern/
HDkern_rwlock.c102 ((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/
HDrwlock.h84 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.h45 volatile uintptr_t rw_lock; member
59 volatile uintptr_t rw_lock; member
/NextBSD/cddl/contrib/opensolaris/lib/libzpool/common/
HDkernel.c189 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/
HDzfs_context.h287 rwlock_t rw_lock; member