SX_OWNER
return ((struct thread *)SX_OWNER(m->sx.sx_lock) != NULL);
else if ((struct thread *)SX_OWNER(lock->base.sx.sx_lock) == curthread)
else if ((struct thread *)SX_OWNER(lock->base.sx.sx_lock) == curthread)
(struct thread *)SX_OWNER(
if ((struct thread *)SX_OWNER(lock->base.sx.sx_lock) == NULL)
SX_OWNER(lock->base.sx.sx_lock);
owner = (struct thread *)SX_OWNER(x);
((*owner = (struct thread *)SX_OWNER(x)) != NULL));
owner = (struct thread *)SX_OWNER(x);
(struct thread *)SX_OWNER((sx)->sx_lock))
#define SX_SHARERS(x) (SX_OWNER(x) >> SX_SHARERS_SHIFT)
((v & SX_LOCK_SHARED) ? NULL : (struct thread *)SX_OWNER(v))