[PATCH] net/virtio: revert Tx free threshold fix

David Marchand david.marchand at redhat.com
Tue Jul 8 16:23:04 CEST 2025


This fix introduced a performance regression.

The problem is under investigation, but we are too close to the release
(and the virtio/vhost maintainer is not available) to get a fix before
the v25.07 release.

Revert this change for now, we can revisit during v25.11.

Bugzilla ID: 1747
Fixes: 3e3c7f3fa5ac ("net/virtio: fix check of threshold for Tx freeing")
Cc: stable at dpdk.org

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 drivers/net/virtio/virtio_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index ab97f03d7d..edecd2011f 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -1873,7 +1873,7 @@ virtio_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 	nb_used = virtqueue_nused(vq);
 
-	if (likely(vq->vq_free_cnt < vq->vq_free_thresh))
+	if (likely(nb_used > vq->vq_nentries - vq->vq_free_thresh))
 		virtio_xmit_cleanup(vq, nb_used);
 
 	for (nb_tx = 0; nb_tx < nb_pkts; nb_tx++) {
-- 
2.50.0



More information about the dev mailing list