Lines Matching refs:waitq

21 void vdo_waitq_enqueue_waiter(struct vdo_wait_queue *waitq, struct vdo_waiter *waiter)  in vdo_waitq_enqueue_waiter()  argument
25 if (waitq->last_waiter == NULL) { in vdo_waitq_enqueue_waiter()
33 waiter->next_waiter = waitq->last_waiter->next_waiter; in vdo_waitq_enqueue_waiter()
34 waitq->last_waiter->next_waiter = waiter; in vdo_waitq_enqueue_waiter()
38 waitq->last_waiter = waiter; in vdo_waitq_enqueue_waiter()
39 waitq->length += 1; in vdo_waitq_enqueue_waiter()
83 void vdo_waitq_notify_all_waiters(struct vdo_wait_queue *waitq, in vdo_waitq_notify_all_waiters() argument
93 vdo_waitq_transfer_all_waiters(waitq, &waiters); in vdo_waitq_notify_all_waiters()
106 struct vdo_waiter *vdo_waitq_get_first_waiter(const struct vdo_wait_queue *waitq) in vdo_waitq_get_first_waiter() argument
108 struct vdo_waiter *last_waiter = waitq->last_waiter; in vdo_waitq_get_first_waiter()
127 void vdo_waitq_dequeue_matching_waiters(struct vdo_wait_queue *waitq, in vdo_waitq_dequeue_matching_waiters() argument
135 vdo_waitq_transfer_all_waiters(waitq, &iteration_waitq); in vdo_waitq_dequeue_matching_waiters()
141 matched_waitq : waitq), waiter); in vdo_waitq_dequeue_matching_waiters()
154 struct vdo_waiter *vdo_waitq_dequeue_waiter(struct vdo_wait_queue *waitq) in vdo_waitq_dequeue_waiter() argument
156 struct vdo_waiter *first_waiter = vdo_waitq_get_first_waiter(waitq); in vdo_waitq_dequeue_waiter()
157 struct vdo_waiter *last_waiter = waitq->last_waiter; in vdo_waitq_dequeue_waiter()
164 waitq->last_waiter = NULL; in vdo_waitq_dequeue_waiter()
175 waitq->length -= 1; in vdo_waitq_dequeue_waiter()
192 bool vdo_waitq_notify_next_waiter(struct vdo_wait_queue *waitq, in vdo_waitq_notify_next_waiter() argument
195 struct vdo_waiter *waiter = vdo_waitq_dequeue_waiter(waitq); in vdo_waitq_notify_next_waiter()