Lines Matching refs:ulwp
507 ulwp_t *ulwp; in QVERIFY() local
528 for (prev = NULL, ulwp = qrp->qr_head; ulwp != NULL; in QVERIFY()
529 prev = ulwp, ulwp = ulwp->ul_link) { in QVERIFY()
531 if (ulwp->ul_writer) in QVERIFY()
533 ASSERT(ulwp->ul_qtype == qtype); in QVERIFY()
534 ASSERT(ulwp->ul_wchan != NULL); in QVERIFY()
535 ASSERT(ulwp->ul_sleepq == qp); in QVERIFY()
536 wchan = ulwp->ul_wchan; in QVERIFY()
607 #define CMP_PRIO(ulwp) ((real_priority(ulwp) << 1) + (ulwp)->ul_writer) argument
610 enqueue(queue_head_t *qp, ulwp_t *ulwp, int force_fifo) in enqueue() argument
615 int pri = CMP_PRIO(ulwp); in enqueue()
618 ASSERT(ulwp->ul_sleepq != qp); in enqueue()
622 qrp = &ulwp->ul_queue_root; in enqueue()
692 if ((ulwp->ul_link = *ulwpp) == NULL) in enqueue()
693 qrp->qr_tail = ulwp; in enqueue()
694 *ulwpp = ulwp; in enqueue()
696 ulwp->ul_sleepq = qp; in enqueue()
697 ulwp->ul_wchan = qp->qh_wchan; in enqueue()
698 ulwp->ul_qtype = qp->qh_type; in enqueue()
699 if ((ulwp->ul_schedctl != NULL && in enqueue()
700 ulwp->ul_schedctl->sc_cid == ulwp->ul_rtclassid) | in enqueue()
701 ulwp->ul_pilocks) { in enqueue()
702 ulwp->ul_rtqueued = 1; in enqueue()
716 ulwp_t *ulwp; in queue_slot_runnable() local
723 (ulwp = *ulwpp) != NULL; in queue_slot_runnable()
724 prev = ulwp, ulwpp = &ulwp->ul_link) { in queue_slot_runnable()
725 if (ulwp->ul_stop) /* skip suspended threads */ in queue_slot_runnable()
727 tpri = rt? CMP_PRIO(ulwp) : 0; in queue_slot_runnable()
747 ulwp_t *ulwp = *ulwpp; in queue_slot_rt() local
749 int priority = CMP_PRIO(ulwp); in queue_slot_rt()
753 for (prev = ulwp, ulwpp = &ulwp->ul_link; in queue_slot_rt()
754 (ulwp = *ulwpp) != NULL; in queue_slot_rt()
755 prev = ulwp, ulwpp = &ulwp->ul_link) { in queue_slot_rt()
756 tpri = CMP_PRIO(ulwp); in queue_slot_rt()
763 ulwp = *foundpp; in queue_slot_rt()
769 if (ulwp->ul_stop && in queue_slot_rt()
772 ulwp = *foundpp; in queue_slot_rt()
774 ulwp->ul_rt = 1; in queue_slot_rt()
783 ulwp_t *ulwp; in queue_slot() local
788 if ((qrp = qp->qh_root) == NULL || (ulwp = qrp->qr_head) == NULL) { in queue_slot()
794 if (ulwp->ul_link == NULL) { /* only one lwp on the queue */ in queue_slot()
796 ulwp->ul_rt = rt; in queue_slot()
807 if (ulwp->ul_stop && in queue_slot()
809 ulwp = *ulwpp; in queue_slot()
810 ulwp->ul_rt = 0; in queue_slot()
816 ulwp->ul_rt = 0; in queue_slot()
828 ulwp_t *ulwp = *ulwpp; in queue_unlink() local
832 ASSERT(qp->qh_wchan != NULL && ulwp->ul_wchan == qp->qh_wchan); in queue_unlink()
836 if (ulwp->ul_rtqueued) { in queue_unlink()
837 ulwp->ul_rtqueued = 0; in queue_unlink()
840 next = ulwp->ul_link; in queue_unlink()
842 ulwp->ul_link = NULL; in queue_unlink()
843 if (qrp->qr_tail == ulwp) in queue_unlink()
845 if (qrp == &ulwp->ul_queue_root) { in queue_unlink()
884 ulwp_t *ulwp; in dequeue() local
889 ulwp = *ulwpp; in dequeue()
891 ulwp->ul_sleepq = NULL; in dequeue()
892 ulwp->ul_wchan = NULL; in dequeue()
893 return (ulwp); in dequeue()
917 ulwp_t *ulwp; in dequeue_self() local
926 (ulwp = *ulwpp) != NULL; in dequeue_self()
927 prev = ulwp, ulwpp = &ulwp->ul_link) { in dequeue_self()
928 if (ulwp == self) { in dequeue_self()
1249 ulwp_t *ulwp; in mutex_trylock_adaptive() local
1330 if ((ulwp = (ulwp_t *)(uintptr_t)*ownerp) != NULL && in mutex_trylock_adaptive()
1331 ((scp = ulwp->ul_schedctl) == NULL || in mutex_trylock_adaptive()
1401 ulwp_t *ulwp; in mutex_queuelock_adaptive() local
1418 if ((ulwp = (ulwp_t *)(uintptr_t)*ownerp) != NULL && in mutex_queuelock_adaptive()
1419 ((scp = ulwp->ul_schedctl) == NULL || in mutex_queuelock_adaptive()
1618 ulwp_t *ulwp; in mutex_wakeup() local
1626 if ((ulwp = dequeue(qp, &more)) != NULL) { in mutex_wakeup()
1627 lwpid = ulwp->ul_lwpid; in mutex_wakeup()
1644 ulwp_t *ulwp; in mutex_wakeup_all() local
1667 (ulwp = qrp->qr_head) == NULL) in mutex_wakeup_all()
1669 ASSERT(ulwp->ul_wchan == mp); in mutex_wakeup_all()
1671 ulwp->ul_sleepq = NULL; in mutex_wakeup_all()
1672 ulwp->ul_wchan = NULL; in mutex_wakeup_all()
1675 lwpid[nlwpid++] = ulwp->ul_lwpid; in mutex_wakeup_all()
3049 heldlock_free(ulwp_t *ulwp) in heldlock_free() argument
3053 if ((nlocks = ulwp->ul_heldlockcnt) != 0) in heldlock_free()
3054 lfree(ulwp->ul_heldlocks.array, nlocks * sizeof (mutex_t *)); in heldlock_free()
3055 ulwp->ul_heldlockcnt = 0; in heldlock_free()
3056 ulwp->ul_heldlocks.array = NULL; in heldlock_free()
3664 ulwp_t *ulwp; in cond_signal() local
3690 ulwp = *ulwpp; in cond_signal()
3698 ulwp->ul_signalled = 1; in cond_signal()
3707 mp = ulwp->ul_cvmutex; /* the mutex he will acquire */ in cond_signal()
3708 ulwp->ul_cvmutex = NULL; in cond_signal()
3711 if (ulwp->ul_cv_wake || !MUTEX_OWNED(mp, self)) { in cond_signal()
3713 lwpid = ulwp->ul_lwpid; in cond_signal()
3715 ulwp->ul_sleepq = NULL; in cond_signal()
3716 ulwp->ul_wchan = NULL; in cond_signal()
3723 enqueue(mqp, ulwp, 0); in cond_signal()
3794 ulwp_t *ulwp; in cond_broadcast() local
3832 (ulwp = qrp->qr_head) == NULL) in cond_broadcast()
3834 ASSERT(ulwp->ul_wchan == cvp); in cond_broadcast()
3836 mp = ulwp->ul_cvmutex; /* his mutex */ in cond_broadcast()
3837 ulwp->ul_cvmutex = NULL; in cond_broadcast()
3839 if (ulwp->ul_cv_wake || !MUTEX_OWNED(mp, self)) { in cond_broadcast()
3841 ulwp->ul_sleepq = NULL; in cond_broadcast()
3842 ulwp->ul_wchan = NULL; in cond_broadcast()
3845 lwpid[nlwpid++] = ulwp->ul_lwpid; in cond_broadcast()
3854 enqueue(mqp, ulwp, 0); in cond_broadcast()
3905 record_spin_locks(ulwp_t *ulwp) in record_spin_locks() argument
3907 spin_lock_spin += ulwp->ul_spin_lock_spin; in record_spin_locks()
3908 spin_lock_spin2 += ulwp->ul_spin_lock_spin2; in record_spin_locks()
3909 spin_lock_sleep += ulwp->ul_spin_lock_sleep; in record_spin_locks()
3910 spin_lock_wakeup += ulwp->ul_spin_lock_wakeup; in record_spin_locks()
3911 ulwp->ul_spin_lock_spin = 0; in record_spin_locks()
3912 ulwp->ul_spin_lock_spin2 = 0; in record_spin_locks()
3913 ulwp->ul_spin_lock_sleep = 0; in record_spin_locks()
3914 ulwp->ul_spin_lock_wakeup = 0; in record_spin_locks()