Lines Matching refs:vqs
134 struct vhost_net_virtqueue vqs[VHOST_NET_VQ_MAX];
275 kfree(n->vqs[i].ubuf_info);
276 n->vqs[i].ubuf_info = NULL;
289 n->vqs[i].ubuf_info =
291 sizeof(*n->vqs[i].ubuf_info),
293 if (!n->vqs[i].ubuf_info)
310 n->vqs[i].done_idx = 0;
311 n->vqs[i].upend_idx = 0;
312 n->vqs[i].ubufs = NULL;
313 n->vqs[i].vhost_hlen = 0;
314 n->vqs[i].sock_hlen = 0;
315 vhost_net_buf_init(&n->vqs[i].rxq);
429 struct vhost_poll *poll = n->poll + (nvq - n->vqs);
440 struct vhost_poll *poll = n->poll + (nvq - n->vqs);
577 struct vhost_net_virtqueue *rnvq = &net->vqs[VHOST_NET_VQ_RX];
602 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX];
771 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX];
861 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX];
970 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX];
1018 struct vhost_net_virtqueue *rnvq = &net->vqs[VHOST_NET_VQ_RX];
1019 struct vhost_net_virtqueue *tnvq = &net->vqs[VHOST_NET_VQ_TX];
1117 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_RX];
1297 struct vhost_virtqueue **vqs;
1305 vqs = kmalloc_array(VHOST_NET_VQ_MAX, sizeof(*vqs), GFP_KERNEL);
1306 if (!vqs) {
1314 kfree(vqs);
1318 n->vqs[VHOST_NET_VQ_RX].rxq.queue = queue;
1322 kfree(vqs);
1327 n->vqs[VHOST_NET_VQ_TX].xdp = xdp;
1330 vqs[VHOST_NET_VQ_TX] = &n->vqs[VHOST_NET_VQ_TX].vq;
1331 vqs[VHOST_NET_VQ_RX] = &n->vqs[VHOST_NET_VQ_RX].vq;
1332 n->vqs[VHOST_NET_VQ_TX].vq.handle_kick = handle_tx_kick;
1333 n->vqs[VHOST_NET_VQ_RX].vq.handle_kick = handle_rx_kick;
1335 n->vqs[i].ubufs = NULL;
1336 n->vqs[i].ubuf_info = NULL;
1337 n->vqs[i].upend_idx = 0;
1338 n->vqs[i].done_idx = 0;
1339 n->vqs[i].batched_xdp = 0;
1340 n->vqs[i].vhost_hlen = 0;
1341 n->vqs[i].sock_hlen = 0;
1342 n->vqs[i].rx_ring = NULL;
1343 vhost_net_buf_init(&n->vqs[i].rxq);
1345 vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX,
1351 vqs[VHOST_NET_VQ_TX]);
1353 vqs[VHOST_NET_VQ_RX]);
1382 *tx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_TX].vq);
1383 *rx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_RX].vq);
1389 if (n->vqs[VHOST_NET_VQ_TX].ubufs) {
1390 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex);
1392 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex);
1394 vhost_net_ubuf_put_and_wait(n->vqs[VHOST_NET_VQ_TX].ubufs);
1395 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex);
1397 atomic_set(&n->vqs[VHOST_NET_VQ_TX].ubufs->refcount, 1);
1398 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex);
1422 kfree(n->vqs[VHOST_NET_VQ_RX].rxq.queue);
1423 kfree(n->vqs[VHOST_NET_VQ_TX].xdp);
1424 kfree(n->dev.vqs);
1518 vq = &n->vqs[index].vq;
1519 nvq = &n->vqs[index];
1661 mutex_lock(&n->vqs[i].vq.mutex);
1662 n->vqs[i].vq.acked_features = features;
1663 n->vqs[i].vhost_hlen = vhost_hlen;
1664 n->vqs[i].sock_hlen = sock_hlen;
1665 mutex_unlock(&n->vqs[i].vq.mutex);