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