Lines Matching refs:sq

147 	syncq_t		*sq;  in putnext()  local
174 sq = qp->q_syncq; in putnext()
175 ASSERT(sq != NULL); in putnext()
176 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in putnext()
179 if (sq->sq_ciputctrl != NULL) { in putnext()
181 ASSERT(sq->sq_flags & SQ_CIPUT); in putnext()
182 ix = CPU->cpu_seqid & sq->sq_nciputctrl; in putnext()
183 sqciplock = &sq->sq_ciputctrl[ix].ciputctrl_lock; in putnext()
184 sqcipcount = &sq->sq_ciputctrl[ix].ciputctrl_count; in putnext()
187 (sq->sq_flags & (SQ_STAYAWAY|SQ_EXCL|SQ_EVENTS))) { in putnext()
200 mutex_enter(SQLOCK(sq)); in putnext()
202 flags = sq->sq_flags; in putnext()
207 sq->sq_count++; in putnext()
208 ASSERT(sq->sq_count != 0); /* Wraparound */ in putnext()
219 (sq->sq_needexcl != 0) || PUT_STACK_NOTENOUGH()) { in putnext()
223 qp, mp, sq); in putnext()
230 mutex_exit(SQLOCK(sq)); in putnext()
232 qfill_syncq(sq, qp, mp); in putnext()
255 ASSERT((sq->sq_flags & SQ_EXCL) == 0); in putnext()
256 ASSERT(!(sq->sq_type & SQ_CIPUT)); in putnext()
257 sq->sq_flags |= SQ_EXCL; in putnext()
259 mutex_exit(SQLOCK(sq)); in putnext()
262 ASSERT((sq->sq_flags & (SQ_EXCL|SQ_CIPUT))); in putnext()
263 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in putnext()
275 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in putnext()
288 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in putnext()
314 qdrain_syncq(sq, qp); in putnext()
324 if (sq->sq_flags & (SQ_EXCL)) { in putnext()
332 flags = sq->sq_flags; in putnext()
335 if ((flags & (SQ_EXCL|SQ_TAIL)) || sq->sq_needexcl) { in putnext()
350 if (mutex_tryenter(SQLOCK(sq)) == 0) { in putnext()
352 mutex_enter(SQLOCK(sq)); in putnext()
355 flags = sq->sq_flags; in putnext()
364 "putnext_end:(%p, %p, %p) done", qp, mp, sq); in putnext()
368 mutex_enter(SQLOCK(sq)); in putnext()
369 flags = sq->sq_flags; in putnext()
370 ASSERT(sq->sq_count != 0); in putnext()
371 sq->sq_count--; in putnext()
373 if ((flags & (SQ_TAIL)) || sq->sq_needexcl) { in putnext()
374 putnext_tail(sq, qp, (flags & ~drain_mask)); in putnext()
379 ASSERT(sq != NULL); in putnext()
382 ASSERT((sq->sq_flags & (SQ_EXCL|SQ_CIPUT)) || queued); in putnext()
408 sq->sq_flags = flags & ~SQ_EXCL; in putnext()
409 mutex_exit(SQLOCK(sq)); in putnext()
411 "putnext_end:(%p, %p, %p) done", qp, mp, sq); in putnext()
429 syncq_t *sq; in put() local
444 sq = qp->q_syncq; in put()
445 ASSERT(sq != NULL); in put()
448 if (UseFastlocks && sq->sq_ciputctrl != NULL) { in put()
450 ASSERT(sq->sq_flags & SQ_CIPUT); in put()
451 ix = CPU->cpu_seqid & sq->sq_nciputctrl; in put()
452 sqciplock = &sq->sq_ciputctrl[ix].ciputctrl_lock; in put()
453 sqcipcount = &sq->sq_ciputctrl[ix].ciputctrl_count; in put()
456 (sq->sq_flags & (SQ_STAYAWAY|SQ_EXCL|SQ_EVENTS))) { in put()
468 mutex_enter(SQLOCK(sq)); in put()
469 flags = sq->sq_flags; in put()
474 sq->sq_count++; in put()
475 ASSERT(sq->sq_count != 0); /* Wraparound */ in put()
486 (sq->sq_needexcl != 0) || PUT_STACK_NOTENOUGH()) { in put()
490 qp, mp, sq); in put()
497 mutex_exit(SQLOCK(sq)); in put()
499 qfill_syncq(sq, qp, mp); in put()
522 ASSERT((sq->sq_flags & SQ_EXCL) == 0); in put()
523 ASSERT(!(sq->sq_type & SQ_CIPUT)); in put()
524 sq->sq_flags |= SQ_EXCL; in put()
526 mutex_exit(SQLOCK(sq)); in put()
529 ASSERT((sq->sq_flags & (SQ_EXCL|SQ_CIPUT))); in put()
530 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in put()
542 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in put()
555 ASSERT(MUTEX_NOT_HELD(SQLOCK(sq))); in put()
581 qdrain_syncq(sq, qp); in put()
591 if (sq->sq_flags & (SQ_EXCL)) { in put()
599 flags = sq->sq_flags; in put()
602 if ((flags & (SQ_EXCL|SQ_TAIL)) || sq->sq_needexcl) { in put()
617 if (mutex_tryenter(SQLOCK(sq)) == 0) { in put()
619 mutex_enter(SQLOCK(sq)); in put()
622 flags = sq->sq_flags; in put()
631 "putnext_end:(%p, %p, %p) done", qp, mp, sq); in put()
635 mutex_enter(SQLOCK(sq)); in put()
636 flags = sq->sq_flags; in put()
637 ASSERT(sq->sq_count != 0); in put()
638 sq->sq_count--; in put()
640 if ((flags & (SQ_TAIL)) || sq->sq_needexcl) { in put()
641 putnext_tail(sq, qp, (flags & ~drain_mask)); in put()
646 ASSERT(sq != NULL); in put()
649 ASSERT((sq->sq_flags & (SQ_EXCL|SQ_CIPUT)) || queued); in put()
675 sq->sq_flags = flags & ~SQ_EXCL; in put()
676 mutex_exit(SQLOCK(sq)); in put()
678 "putnext_end:(%p, %p, %p) done", qp, mp, sq); in put()