Lines Matching defs:uh
455 struct umtxq_queue *uh;
460 LIST_FOREACH(uh, &uc->uc_queue[q], link) {
461 if (umtx_key_match(&uh->key, key))
462 return (uh);
471 struct umtxq_queue *uh;
477 uh = umtxq_queue_lookup(&uq->uq_key, q);
478 if (uh != NULL) {
481 uh = uq->uq_spare_queue;
482 uh->key = uq->uq_key;
483 LIST_INSERT_HEAD(&uc->uc_queue[q], uh, link);
495 TAILQ_INSERT_TAIL(&uh->head, uq, uq_link);
496 uh->length++;
498 uq->uq_cur_queue = uh;
506 struct umtxq_queue *uh;
511 uh = uq->uq_cur_queue;
512 TAILQ_REMOVE(&uh->head, uq, uq_link);
513 uh->length--;
515 if (TAILQ_EMPTY(&uh->head)) {
516 KASSERT(uh->length == 0,
521 LIST_REMOVE(uh, link);
523 uh = LIST_FIRST(&uc->uc_spare_queue);
524 KASSERT(uh != NULL, ("uc_spare_queue is empty"));
525 LIST_REMOVE(uh, link);
527 uq->uq_spare_queue = uh;
538 struct umtxq_queue *uh;
541 uh = umtxq_queue_lookup(key, UMTX_SHARED_QUEUE);
542 if (uh != NULL)
543 return (uh->length);
554 struct umtxq_queue *uh;
558 uh = umtxq_queue_lookup(key, UMTX_SHARED_QUEUE);
559 if (uh != NULL) {
560 *first = TAILQ_FIRST(&uh->head);
561 return (uh->length);
572 struct umtxq_queue *uh;
578 uh = umtxq_queue_lookup(key, UMTX_SHARED_QUEUE);
579 if (uh == NULL)
581 TAILQ_FOREACH_SAFE(uq, &uh->head, uq_link, uq_temp) {
599 struct umtxq_queue *uh;
605 uh = umtxq_queue_lookup(key, q);
606 if (uh != NULL) {
607 while ((uq = TAILQ_FIRST(&uh->head)) != NULL) {
640 struct umtxq_queue *uh;
647 uh = umtxq_queue_lookup(key, UMTX_SHARED_QUEUE);
648 if (uh == NULL)
650 TAILQ_FOREACH_SAFE(uq, &uh->head, uq_link, uq_temp) {