Lines Matching defs:owner
186 #define MUTEX_OWNER(owner) \
187 (owner & MUTEX_THREAD)
211 #define MUTEX_SPIN_P(owner) \
212 (((owner) & MUTEX_BIT_SPIN) != 0)
213 #define MUTEX_ADAPTIVE_P(owner) \
214 (((owner) & MUTEX_BIT_SPIN) == 0)
223 #define MUTEX_OWNED(owner) (((owner) & ~MUTEX_BIT_NODEBUG) != 0)
226 #define MUTEX_OWNED(owner) ((owner) != 0)
245 MUTEX_SET_WAITERS(kmutex_t *mtx, uintptr_t owner)
249 rv = MUTEX_CAS(&mtx->mtx_owner, owner, owner | MUTEX_BIT_WAITERS);
320 uintptr_t owner = mtx->mtx_owner;
322 pr("owner field : %#018lx wait/spin: %16d/%d\n",
323 (long)MUTEX_OWNER(owner), MUTEX_HAS_WAITERS(mtx),
324 MUTEX_SPIN_P(owner));
391 uintptr_t owner = mtx->mtx_owner;
393 if (MUTEX_ADAPTIVE_P(owner)) {
394 MUTEX_ASSERT(mtx, !MUTEX_OWNED(owner));
408 * Return true if an adaptive mutex owner is running on a CPU in the
413 mutex_oncpu(uintptr_t owner)
420 if (!MUTEX_OWNED(owner)) {
428 l = (lwp_t *)MUTEX_OWNER(owner);
452 uintptr_t owner, curthread;
467 owner = mtx->mtx_owner;
468 if (MUTEX_SPIN_P(owner)) {
517 MUTEX_DASSERT(mtx, MUTEX_ADAPTIVE_P(owner));
531 * determine that the owner is not running on a processor,
535 if (!MUTEX_OWNED(owner)) {
537 * Mutex owner clear could mean two things:
540 * * The owner field hasn't been set yet.
547 owner = mtx->mtx_owner;
550 if (__predict_false(MUTEX_OWNER(owner) == curthread)) {
555 * Check to see if the owner is running on a processor.
556 * If so, then we should just spin, as the owner will
559 if (mutex_oncpu(owner)) {
566 owner = mtx->mtx_owner;
567 } while (mutex_oncpu(owner));
570 if (!MUTEX_OWNED(owner))
582 if (!MUTEX_SET_WAITERS(mtx, owner)) {
584 owner = mtx->mtx_owner;
622 * owner field.
676 if (mutex_oncpu(owner)) {
678 owner = mtx->mtx_owner;
684 owner = mtx->mtx_owner;
696 owner = mtx->mtx_owner;
838 * Return the current owner of an adaptive mutex. Used for