Lines Matching full:q
111 * @param q Queue to initialize or reset
113 static inline void mpsc_init(struct mpsc *q) in mpsc_init() argument
115 mpsc_ptr_set(q->head, &q->stub); in mpsc_init()
116 q->tail = &q->stub; in mpsc_init()
117 mpsc_ptr_set(q->stub.next, NULL); in mpsc_init()
123 * @param q Queue to push the node to
126 static ALWAYS_INLINE void mpsc_push(struct mpsc *q, struct mpsc_node *n) in mpsc_push() argument
134 prev = (struct mpsc_node *)mpsc_ptr_set_get(q->head, n); in mpsc_push()
145 static inline struct mpsc_node *mpsc_pop(struct mpsc *q) in mpsc_pop() argument
148 struct mpsc_node *tail = q->tail; in mpsc_pop()
152 if (tail == &q->stub) { in mpsc_pop()
157 q->tail = next; in mpsc_pop()
164 q->tail = next; in mpsc_pop()
168 head = (struct mpsc_node *)mpsc_ptr_get(q->head); in mpsc_pop()
177 mpsc_push(q, &q->stub); in mpsc_pop()
182 q->tail = next; in mpsc_pop()