virtio-net: Unlimit tx queue size if peer is vdpa

The code used to limit the maximum size of tx queue for others backends
than vhost_user since the introduction of configurable tx queue size in
9b02e1618cf2 ("virtio-net: enable configurable tx queue size").

As vhost_user, vhost_vdpa devices should deal with memory region
crosses already, so let's use the full tx size.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20220217175029.2517071-1-eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Eugenio Pérez 2022-02-17 18:50:29 +01:00 committed by Michael S. Tsirkin
parent e609301b45
commit 0ea5778f06

View File

@ -628,17 +628,20 @@ static int virtio_net_max_tx_queue_size(VirtIONet *n)
NetClientState *peer = n->nic_conf.peers.ncs[0]; NetClientState *peer = n->nic_conf.peers.ncs[0];
/* /*
* Backends other than vhost-user don't support max queue size. * Backends other than vhost-user or vhost-vdpa don't support max queue
* size.
*/ */
if (!peer) { if (!peer) {
return VIRTIO_NET_TX_QUEUE_DEFAULT_SIZE; return VIRTIO_NET_TX_QUEUE_DEFAULT_SIZE;
} }
if (peer->info->type != NET_CLIENT_DRIVER_VHOST_USER) { switch(peer->info->type) {
case NET_CLIENT_DRIVER_VHOST_USER:
case NET_CLIENT_DRIVER_VHOST_VDPA:
return VIRTQUEUE_MAX_SIZE;
default:
return VIRTIO_NET_TX_QUEUE_DEFAULT_SIZE; return VIRTIO_NET_TX_QUEUE_DEFAULT_SIZE;
} };
return VIRTQUEUE_MAX_SIZE;
} }
static int peer_attach(VirtIONet *n, int index) static int peer_attach(VirtIONet *n, int index)