Searched refs:RW_READ_LOCK (Results 1 – 4 of 4) sorted by relevance
/titanic_50/usr/src/uts/common/os/ |
H A D | rwlock.c | 283 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 D | rwlock_impl.h | 53 #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 D | lock_prim.s | 924 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 D | lock_prim.s | 509 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?
|