Lines Matching defs:rw_owner
76 #define RW_DEBUG_P(rw) (((rw)->rw_owner & RW_NODEBUG) == 0)
117 static lwp_t *rw_owner(wchan_t);
136 .sobj_owner = rw_owner,
148 return (uintptr_t)atomic_cas_ptr((volatile void *)&rw->rw_owner,
163 n = (uintptr_t)atomic_swap_ptr((volatile void *)&rw->rw_owner,
213 rw->rw_owner = 0;
215 rw->rw_owner = RW_NODEBUG;
217 rw->rw_owner = 0;
237 RW_ASSERT(rw, (rw->rw_owner & ~RW_NODEBUG) == 0);
238 LOCKDEBUG_FREE((rw->rw_owner & RW_NODEBUG) == 0, rw);
332 for (owner = rw->rw_owner;;) {
368 owner = rw->rw_owner;
385 * Reload rw_owner because turnstile_lookup() may have
388 owner = rw->rw_owner;
410 if (op == RW_READER || (rw->rw_owner & RW_THREAD) == curthread)
413 owner = rw->rw_owner;
454 owner = rw->rw_owner;
487 owner = rw->rw_owner;
569 for (owner = rw->rw_owner;; owner = next) {
604 RW_ASSERT(rw, (rw->rw_owner & RW_WRITE_LOCKED) != 0);
609 for (owner = rw->rw_owner;; owner = next) {
622 (rw->rw_owner & RW_WRITE_LOCKED) == 0);
647 RW_ASSERT(rw, (rw->rw_owner & RW_WRITE_WANTED) != 0);
648 RW_ASSERT(rw, (rw->rw_owner & RW_HAS_WAITERS) != 0);
681 RW_ASSERT(rw, (rw->rw_owner & RW_WRITE_LOCKED) == 0);
719 RW_ASSERT(rw, rw->rw_owner & RW_WRITE_LOCKED);
739 owner = rw->rw_owner;
756 return (rw->rw_owner & (RW_WRITE_LOCKED | RW_THREAD)) ==
773 return (rw->rw_owner & RW_THREAD) != 0;
788 return (rw->rw_owner & RW_WRITE_LOCKED) != 0 ? RW_WRITER : RW_READER;
792 * rw_owner:
798 rw_owner(wchan_t obj)
801 uintptr_t owner = rw->rw_owner;