Home
last modified time | relevance | path

Searched refs:RW_READ_LOCK (Results 1 – 4 of 4) sorted by relevance

/titanic_50/usr/src/uts/common/os/
H A Drwlock.c283 lock_value = RW_READ_LOCK; in rw_enter_sleep()
287 lock_value = RW_READ_LOCK; in rw_enter_sleep()
429 lock_value = RW_READ_LOCK; in rw_exit_wakeup()
485 new = nreaders * RW_READ_LOCK; in rw_exit_wakeup()
519 if (lock_value == RW_READ_LOCK) { in rw_exit_wakeup()
540 if (casip(&lp->rw_wwwh, old, old + RW_READ_LOCK) == old) in rw_tryenter()
575 RW_READ_LOCK - RW_WRITE_LOCK(curthread)) & RW_HAS_WAITERS) { in rw_downgrade()
579 uintptr_t delta = nreaders * RW_READ_LOCK; in rw_downgrade()
599 if (((old = lp->rw_wwwh) & ~RW_HAS_WAITERS) != RW_READ_LOCK) in rw_tryupgrade()
601 new = old + RW_WRITE_LOCK(curthread) - RW_READ_LOCK; in rw_tryupgrade()
/titanic_50/usr/src/uts/common/sys/
H A Drwlock_impl.h53 #define RW_READ_LOCK 8 macro
55 #define RW_HOLD_COUNT (-RW_READ_LOCK)
61 #define RW_DOUBLE_LOCK (RW_WRITE_LOCK(0) | RW_READ_LOCK)
/titanic_50/usr/src/uts/intel/ia32/ml/
H A Dlock_prim.s924 leaq RW_READ_LOCK(%rax), %rdx /* rdx = new rw_wwwh value */
965 cmpl $RW_READ_LOCK, %eax /* single-reader, no waiters? */
982 leaq -RW_READ_LOCK(%rax), %rdx /* rdx = new value */
983 cmpl $RW_READ_LOCK, %edx
1013 leal RW_READ_LOCK(%eax), %edx /* edx = new rw_wwwh value */
1052 cmpl $RW_READ_LOCK, %eax /* single-reader, no waiters? */
1069 leal -RW_READ_LOCK(%eax), %edx /* edx = new value */
1070 cmpl $RW_READ_LOCK, %edx
/titanic_50/usr/src/uts/sparc/v9/ml/
H A Dlock_prim.s509 add %o4, RW_READ_LOCK, %o5 ! delay: increment hold count
548 subcc %o4, RW_READ_LOCK, %o5 ! %o5 = new lock value if reader
564 cmp %o5, RW_READ_LOCK ! would lock still be held?