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,
181 (long)RW_OWNER(rw), (int)RW_FLAGS(rw));
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;;) {
353 if (__predict_false(RW_OWNER(rw) == curthread)) {
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;
426 RW_ASSERT(rw, (op != RW_READER && RW_OWNER(rw) == curthread) ||
454 owner = rw->rw_owner;
457 RW_ASSERT(rw, RW_OWNER(rw) == curthread);
487 owner = rw->rw_owner;
569 for (owner = rw->rw_owner;; owner = next) {
581 RW_ASSERT(rw, (op != RW_READER && RW_OWNER(rw) == curthread) ||
604 RW_ASSERT(rw, (rw->rw_owner & RW_WRITE_LOCKED) != 0);
605 RW_ASSERT(rw, RW_OWNER(rw) == curthread);
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);
720 RW_ASSERT(rw, RW_OWNER(rw) == curthread);
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;