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:
parent
e609301b45
commit
0ea5778f06
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user