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: sta...@dpdk.org

Signed-off-by: David Marchand <david.march...@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

Reply via email to