Lines Matching refs:vqs
133 struct vhost_net_virtqueue vqs[VHOST_NET_VQ_MAX]; member
274 kfree(n->vqs[i].ubuf_info); in vhost_net_clear_ubuf_info()
275 n->vqs[i].ubuf_info = NULL; in vhost_net_clear_ubuf_info()
288 n->vqs[i].ubuf_info = in vhost_net_set_ubuf_info()
290 sizeof(*n->vqs[i].ubuf_info), in vhost_net_set_ubuf_info()
292 if (!n->vqs[i].ubuf_info) in vhost_net_set_ubuf_info()
309 n->vqs[i].done_idx = 0; in vhost_net_vq_reset()
310 n->vqs[i].upend_idx = 0; in vhost_net_vq_reset()
311 n->vqs[i].ubufs = NULL; in vhost_net_vq_reset()
312 n->vqs[i].vhost_hlen = 0; in vhost_net_vq_reset()
313 n->vqs[i].sock_hlen = 0; in vhost_net_vq_reset()
314 vhost_net_buf_init(&n->vqs[i].rxq); in vhost_net_vq_reset()
426 struct vhost_poll *poll = n->poll + (nvq - n->vqs); in vhost_net_disable_vq()
437 struct vhost_poll *poll = n->poll + (nvq - n->vqs); in vhost_net_enable_vq()
564 struct vhost_net_virtqueue *rnvq = &net->vqs[VHOST_NET_VQ_RX]; in vhost_net_tx_get_vq_desc()
587 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX]; in vhost_exceeds_maxpend()
759 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX]; in handle_tx_copy()
848 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX]; in handle_tx_zerocopy()
950 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX]; in handle_tx()
998 struct vhost_net_virtqueue *rnvq = &net->vqs[VHOST_NET_VQ_RX]; in vhost_net_rx_peek_head_len()
999 struct vhost_net_virtqueue *tnvq = &net->vqs[VHOST_NET_VQ_TX]; in vhost_net_rx_peek_head_len()
1097 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_RX]; in handle_rx()
1277 struct vhost_virtqueue **vqs; in vhost_net_open() local
1285 vqs = kmalloc_array(VHOST_NET_VQ_MAX, sizeof(*vqs), GFP_KERNEL); in vhost_net_open()
1286 if (!vqs) { in vhost_net_open()
1294 kfree(vqs); in vhost_net_open()
1298 n->vqs[VHOST_NET_VQ_RX].rxq.queue = queue; in vhost_net_open()
1302 kfree(vqs); in vhost_net_open()
1307 n->vqs[VHOST_NET_VQ_TX].xdp = xdp; in vhost_net_open()
1310 vqs[VHOST_NET_VQ_TX] = &n->vqs[VHOST_NET_VQ_TX].vq; in vhost_net_open()
1311 vqs[VHOST_NET_VQ_RX] = &n->vqs[VHOST_NET_VQ_RX].vq; in vhost_net_open()
1312 n->vqs[VHOST_NET_VQ_TX].vq.handle_kick = handle_tx_kick; in vhost_net_open()
1313 n->vqs[VHOST_NET_VQ_RX].vq.handle_kick = handle_rx_kick; in vhost_net_open()
1315 n->vqs[i].ubufs = NULL; in vhost_net_open()
1316 n->vqs[i].ubuf_info = NULL; in vhost_net_open()
1317 n->vqs[i].upend_idx = 0; in vhost_net_open()
1318 n->vqs[i].done_idx = 0; in vhost_net_open()
1319 n->vqs[i].batched_xdp = 0; in vhost_net_open()
1320 n->vqs[i].vhost_hlen = 0; in vhost_net_open()
1321 n->vqs[i].sock_hlen = 0; in vhost_net_open()
1322 n->vqs[i].rx_ring = NULL; in vhost_net_open()
1323 vhost_net_buf_init(&n->vqs[i].rxq); in vhost_net_open()
1325 vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX, in vhost_net_open()
1359 *tx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_TX].vq); in vhost_net_stop()
1360 *rx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_RX].vq); in vhost_net_stop()
1366 vhost_poll_flush(&n->vqs[index].vq.poll); in vhost_net_flush_vq()
1373 if (n->vqs[VHOST_NET_VQ_TX].ubufs) { in vhost_net_flush()
1374 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
1376 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
1378 vhost_net_ubuf_put_and_wait(n->vqs[VHOST_NET_VQ_TX].ubufs); in vhost_net_flush()
1379 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
1381 atomic_set(&n->vqs[VHOST_NET_VQ_TX].ubufs->refcount, 1); in vhost_net_flush()
1382 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
1406 kfree(n->vqs[VHOST_NET_VQ_RX].rxq.queue); in vhost_net_release()
1407 kfree(n->vqs[VHOST_NET_VQ_TX].xdp); in vhost_net_release()
1408 kfree(n->dev.vqs); in vhost_net_release()
1515 vq = &n->vqs[index].vq; in vhost_net_set_backend()
1516 nvq = &n->vqs[index]; in vhost_net_set_backend()
1628 mutex_lock(&n->vqs[i].vq.mutex); in vhost_net_set_backend_features()
1629 n->vqs[i].vq.acked_backend_features = features; in vhost_net_set_backend_features()
1630 mutex_unlock(&n->vqs[i].vq.mutex); in vhost_net_set_backend_features()
1666 mutex_lock(&n->vqs[i].vq.mutex); in vhost_net_set_features()
1667 n->vqs[i].vq.acked_features = features; in vhost_net_set_features()
1668 n->vqs[i].vhost_hlen = vhost_hlen; in vhost_net_set_features()
1669 n->vqs[i].sock_hlen = sock_hlen; in vhost_net_set_features()
1670 mutex_unlock(&n->vqs[i].vq.mutex); in vhost_net_set_features()