Lines Matching refs:owner

17  * information: Portions Copyright [yyyy] [name of copyright owner]
30 * (the "owner" of the mutex) is active at a time. See mutex(9F)
43 * Adaptive mutexes (the default type) spin if the owner is running on
59 * we check to see what the owner is doing. If the owner is running,
82 * This ensures that the owner will always check for waiters after
87 * when resuming: set CPU_THREAD = owner
92 * clear owner
103 * check CPU_THREAD for owner's t_cpu
104 * continue if owner running
106 * check owner and waiters bit; abort if either changed
113 * STORE CPU_THREAD = owner
115 * STORE owner = NULL
122 * LOAD owner and waiters bit
129 * may grab the lock after the owner drops it can be factored out of the
143 * (1) Choose a waiter and make that thread the owner before waking it;
152 * thread the owner, but he's not ONPROC yet, then all other threads on
153 * other cpus that try to get the lock will conclude that the owner is
164 * have waiters but no owner to whom priority can be willed. So while
249 panic("%s, lp=%p owner=%p thread=%p",
344 kthread_id_t owner;
345 kthread_id_t lastowner = MUTEX_NO_OWNER; /* track owner changes */
352 int changecnt = 0; /* count of owner changes */
391 if ((owner = MUTEX_OWNER(vlp)) == NULL) {
399 } else if (lastowner != owner) {
400 lastowner = owner;
410 if (owner == curthread)
414 * If lock is held but owner is not yet set, spin.
417 if (owner == MUTEX_NO_OWNER)
425 * The owner appears not to be running, so block.
433 * Recheck whether owner is running after waiters bit hits
434 * global visibility (above). If owner is running, spin.
443 * If owner and waiters bit are unchanged, block.
445 if (MUTEX_OWNER(vlp) == owner && MUTEX_HAS_WAITERS(vlp)) {
517 mutex_panic("mutex_exit: not owner", lp);
630 mutex_panic("mutex_destroy: not owner", lp);