Lines Matching defs:rxq
126 struct vhost_net_buf rxq;
151 static void *vhost_net_buf_get_ptr(struct vhost_net_buf *rxq)
153 if (rxq->tail != rxq->head)
154 return rxq->queue[rxq->head];
159 static int vhost_net_buf_get_size(struct vhost_net_buf *rxq)
161 return rxq->tail - rxq->head;
164 static int vhost_net_buf_is_empty(struct vhost_net_buf *rxq)
166 return rxq->tail == rxq->head;
169 static void *vhost_net_buf_consume(struct vhost_net_buf *rxq)
171 void *ret = vhost_net_buf_get_ptr(rxq);
172 ++rxq->head;
178 struct vhost_net_buf *rxq = &nvq->rxq;
180 rxq->head = 0;
181 rxq->tail = ptr_ring_consume_batched(nvq->rx_ring, rxq->queue,
183 return rxq->tail;
188 struct vhost_net_buf *rxq = &nvq->rxq;
190 if (nvq->rx_ring && !vhost_net_buf_is_empty(rxq)) {
191 ptr_ring_unconsume(nvq->rx_ring, rxq->queue + rxq->head,
192 vhost_net_buf_get_size(rxq),
194 rxq->head = rxq->tail = 0;
211 struct vhost_net_buf *rxq = &nvq->rxq;
213 if (!vhost_net_buf_is_empty(rxq))
220 return vhost_net_buf_peek_len(vhost_net_buf_get_ptr(rxq));
223 static void vhost_net_buf_init(struct vhost_net_buf *rxq)
225 rxq->head = rxq->tail = 0;
314 vhost_net_buf_init(&n->vqs[i].rxq);
1181 msg.msg_control = vhost_net_buf_consume(&nvq->rxq);
1309 n->vqs[VHOST_NET_VQ_RX].rxq.queue = queue;
1334 vhost_net_buf_init(&n->vqs[i].rxq);
1418 kfree(n->vqs[VHOST_NET_VQ_RX].rxq.queue);