Lines Matching defs:ulwp

506 	ulwp_t *ulwp;
527 for (prev = NULL, ulwp = qrp->qr_head; ulwp != NULL;
528 prev = ulwp, ulwp = ulwp->ul_link) {
530 if (ulwp->ul_writer)
532 ASSERT(ulwp->ul_qtype == qtype);
533 ASSERT(ulwp->ul_wchan != NULL);
534 ASSERT(ulwp->ul_sleepq == qp);
535 wchan = ulwp->ul_wchan;
606 #define CMP_PRIO(ulwp) ((real_priority(ulwp) << 1) + (ulwp)->ul_writer)
609 enqueue(queue_head_t *qp, ulwp_t *ulwp, int force_fifo)
614 int pri = CMP_PRIO(ulwp);
617 ASSERT(ulwp->ul_sleepq != qp);
621 qrp = &ulwp->ul_queue_root;
691 if ((ulwp->ul_link = *ulwpp) == NULL)
692 qrp->qr_tail = ulwp;
693 *ulwpp = ulwp;
695 ulwp->ul_sleepq = qp;
696 ulwp->ul_wchan = qp->qh_wchan;
697 ulwp->ul_qtype = qp->qh_type;
698 if ((ulwp->ul_schedctl != NULL &&
699 ulwp->ul_schedctl->sc_cid == ulwp->ul_rtclassid) |
700 ulwp->ul_pilocks) {
701 ulwp->ul_rtqueued = 1;
715 ulwp_t *ulwp;
722 (ulwp = *ulwpp) != NULL;
723 prev = ulwp, ulwpp = &ulwp->ul_link) {
724 if (ulwp->ul_stop) /* skip suspended threads */
726 tpri = rt? CMP_PRIO(ulwp) : 0;
746 ulwp_t *ulwp = *ulwpp;
748 int priority = CMP_PRIO(ulwp);
752 for (prev = ulwp, ulwpp = &ulwp->ul_link;
753 (ulwp = *ulwpp) != NULL;
754 prev = ulwp, ulwpp = &ulwp->ul_link) {
755 tpri = CMP_PRIO(ulwp);
762 ulwp = *foundpp;
768 if (ulwp->ul_stop &&
771 ulwp = *foundpp;
773 ulwp->ul_rt = 1;
782 ulwp_t *ulwp;
787 if ((qrp = qp->qh_root) == NULL || (ulwp = qrp->qr_head) == NULL) {
793 if (ulwp->ul_link == NULL) { /* only one lwp on the queue */
795 ulwp->ul_rt = rt;
806 if (ulwp->ul_stop &&
808 ulwp = *ulwpp;
809 ulwp->ul_rt = 0;
815 ulwp->ul_rt = 0;
827 ulwp_t *ulwp = *ulwpp;
831 ASSERT(qp->qh_wchan != NULL && ulwp->ul_wchan == qp->qh_wchan);
835 if (ulwp->ul_rtqueued) {
836 ulwp->ul_rtqueued = 0;
839 next = ulwp->ul_link;
841 ulwp->ul_link = NULL;
842 if (qrp->qr_tail == ulwp)
844 if (qrp == &ulwp->ul_queue_root) {
883 ulwp_t *ulwp;
888 ulwp = *ulwpp;
890 ulwp->ul_sleepq = NULL;
891 ulwp->ul_wchan = NULL;
892 return (ulwp);
916 ulwp_t *ulwp;
925 (ulwp = *ulwpp) != NULL;
926 prev = ulwp, ulwpp = &ulwp->ul_link) {
927 if (ulwp == self) {
1279 ulwp_t *ulwp;
1360 if ((ulwp = (ulwp_t *)(uintptr_t)*ownerp) != NULL &&
1361 ((scp = ulwp->ul_schedctl) == NULL ||
1431 ulwp_t *ulwp;
1448 if ((ulwp = (ulwp_t *)(uintptr_t)*ownerp) != NULL &&
1449 ((scp = ulwp->ul_schedctl) == NULL ||
1648 ulwp_t *ulwp;
1656 if ((ulwp = dequeue(qp, &more)) != NULL) {
1657 lwpid = ulwp->ul_lwpid;
1674 ulwp_t *ulwp;
1697 (ulwp = qrp->qr_head) == NULL)
1699 ASSERT(ulwp->ul_wchan == mp);
1701 ulwp->ul_sleepq = NULL;
1702 ulwp->ul_wchan = NULL;
1705 lwpid[nlwpid++] = ulwp->ul_lwpid;
3079 heldlock_free(ulwp_t *ulwp)
3083 if ((nlocks = ulwp->ul_heldlockcnt) != 0)
3084 lfree(ulwp->ul_heldlocks.array, nlocks * sizeof (mutex_t *));
3085 ulwp->ul_heldlockcnt = 0;
3086 ulwp->ul_heldlocks.array = NULL;
3694 ulwp_t *ulwp;
3720 ulwp = *ulwpp;
3728 ulwp->ul_signalled = 1;
3737 mp = ulwp->ul_cvmutex; /* the mutex he will acquire */
3738 ulwp->ul_cvmutex = NULL;
3741 if (ulwp->ul_cv_wake || !MUTEX_OWNED(mp, self)) {
3743 lwpid = ulwp->ul_lwpid;
3745 ulwp->ul_sleepq = NULL;
3746 ulwp->ul_wchan = NULL;
3753 enqueue(mqp, ulwp, 0);
3824 ulwp_t *ulwp;
3862 (ulwp = qrp->qr_head) == NULL)
3864 ASSERT(ulwp->ul_wchan == cvp);
3866 mp = ulwp->ul_cvmutex; /* his mutex */
3867 ulwp->ul_cvmutex = NULL;
3869 if (ulwp->ul_cv_wake || !MUTEX_OWNED(mp, self)) {
3871 ulwp->ul_sleepq = NULL;
3872 ulwp->ul_wchan = NULL;
3875 lwpid[nlwpid++] = ulwp->ul_lwpid;
3884 enqueue(mqp, ulwp, 0);
3935 record_spin_locks(ulwp_t *ulwp)
3937 spin_lock_spin += ulwp->ul_spin_lock_spin;
3938 spin_lock_spin2 += ulwp->ul_spin_lock_spin2;
3939 spin_lock_sleep += ulwp->ul_spin_lock_sleep;
3940 spin_lock_wakeup += ulwp->ul_spin_lock_wakeup;
3941 ulwp->ul_spin_lock_spin = 0;
3942 ulwp->ul_spin_lock_spin2 = 0;
3943 ulwp->ul_spin_lock_sleep = 0;
3944 ulwp->ul_spin_lock_wakeup = 0;