On 7/10/26 9:08 AM, David Marchand wrote:
> When a big batch will reach a vhost-user port, there will be some
> non avoidable retries due to a hardcoded limit in the vhost library.
> Extend the retry limit.
> 
> Link: https://git.dpdk.org/dpdk/tree/lib/vhost/virtio_net.c?h=v25.11#n1722
> Signed-off-by: David Marchand <[email protected]>
> ---
>  lib/netdev-dpdk.c | 21 +++++++++++++++------
>  1 file changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index e375275de1..cab69f00db 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
> @@ -3352,12 +3352,21 @@ netdev_dpdk_vhost_send(struct netdev *netdev, int qid,
>              cnt -= tx_pkts;
>              /* Prepare for possible retry.*/
>              pkts = &pkts[tx_pkts];
> -            if (OVS_UNLIKELY(cnt && !retries)) {
> -                /*
> -                 * Read max retries as there are packets not sent
> -                 * and no retries have already occurred.
> -                 */
> -                atomic_read_relaxed(&dev->vhost_tx_retries_max, 
> &max_retries);
> +            if (OVS_UNLIKELY(cnt)) {
> +                if (!retries) {
> +                    /*
> +                     * Read max retries as there are packets not sent
> +                     * and no retries have already occurred.
> +                     */

nit: May be better to unify the comment styles, since we're moving it
anyway.

> +                    atomic_read_relaxed(&dev->vhost_tx_retries_max,
> +                                        &max_retries);
> +                }
> +                if (tx_pkts == 32) {
> +                    /* As of v25.11, the vhost library only sends 32 mbufs
> +                     * at maximum for a reason lost in limbo.
> +                     * Extend our max retries for this batch. */
> +                    max_retries++;
> +                }
>              }
>          } else {
>              /* No packets sent - do not retry.*/

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to