umtx
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
do_unlock_umtx(struct thread *td, struct umtx *umtx, u_long id)
owner = fuword(__DEVOLATILE(u_long *, &umtx->u_owner));
old = casuword(&umtx->u_owner, owner, UMTX_UNOWNED);
if ((error = umtx_key_get(umtx, TYPE_SIMPLE_LOCK, AUTO_SHARE,
old = casuword(&umtx->u_owner, owner,
static SYSCTL_NODE(_debug, OID_AUTO, umtx, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
SYSINIT(umtx, SI_SUB_EVENTHANDLER+1, SI_ORDER_MIDDLE, umtxq_sysinit, NULL);
return (do_lock_umtx(td, uap->umtx, td->td_tid, 0));
return (do_unlock_umtx(td, uap->umtx, td->td_tid));
return (do_lock_umtx32(td, (uint32_t *)uap->umtx, td->td_tid, NULL));
return (do_unlock_umtx32(td, (uint32_t *)uap->umtx, td->td_tid));
do_lock_umtx(struct thread *td, struct umtx *umtx, u_long id,
owner = casuword(&umtx->u_owner, UMTX_UNOWNED, id);
owner = casuword(&umtx->u_owner,
if ((error = umtx_key_get(umtx, TYPE_SIMPLE_LOCK,
old = casuword(&umtx->u_owner, owner, owner | UMTX_CONTESTED);
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];