vhost: remove fallback in async enqueue API
PATCH 1/1 vhost: remove fallback in async enqueue API
By design, async enqueue API should return directly if async device is not registered. This patch removes the corrupted implementation of the enqueue fallback from async mode to sync mode.
Fixes cd6760da1076 ("vhost: introduce async enqueue for split ring")
Signed-off-by Patrick Fu <[email protected]>
--- lib/librte_vhost/virtio_net.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
lib/librte_vhost/virtio_net.c +1 -10
@@ -1714,7 +1714,6 @@ virtio_dev_rx_async_submit(struct virtio_net *dev, uint16_t queue_id, {struct vhost_virtqueue *vq;uint32_t nb_tx =0 ; -bool drawback = false;VHOST_LOG_DATA (DEBUG ,"(%d) %s\n" , dev->vid, __func__);if (unlikely (!is_valid_virt_queue_idx (queue_id,0 , dev->nr_vring))) {
@@ -1727,13 +1726,8 @@ virtio_dev_rx_async_submit(struct virtio_net *dev, uint16_t queue_id,rte_spinlock_lock (&vq->access_lock); -if (unlikely (vq->enabled ==0 )) - goto out_access_unlock; - -if (unlikely (!vq->async_registered)) { - drawback = true; +if (unlikely (vq->enabled ==0 || !vq->async_registered)) goto out_access_unlock; - }if (dev->features & (1ULL <<VIRTIO_F_IOMMU_PLATFORM ))vhost_user_iotlb_rd_lock (vq);
@@ -1760,9 +1754,6 @@ virtio_dev_rx_async_submit(struct virtio_net *dev, uint16_t queue_id, out_access_unlock:rte_spinlock_unlock (&vq->access_lock); -if (drawback) -return rte_vhost_enqueue_burst (dev->vid, queue_id, pkts, count); -return nb_tx; }
Signature · 1 line
2.18.4
Quoted 11 lines · Patrick Fu
By design, async enqueue API should return directly if async device is not registered. This patch removes the corrupted implementation of the enqueue fallback from async mode to sync mode.
Fixes cd6760da1076 ("vhost: introduce async enqueue for split ring")Signed-off-by Patrick Fu <[email protected]>--- lib/librte_vhost/virtio_net.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
Reviewed-by Maxime Coquelin <[email protected]>
Thanks,
Maxime
Maxime Coquelin
AppliedQuoted 10 lines · Patrick Fu
By design, async enqueue API should return directly if async device is not registered. This patch removes the corrupted implementation of the enqueue fallback from async mode to sync mode.
Fixes cd6760da1076 ("vhost: introduce async enqueue for split ring")Signed-off-by Patrick Fu <[email protected]>--- lib/librte_vhost/virtio_net.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
Applied to dpdk-next-virtio/main.
Thanks,
Maxime