[PATCH v2] examples/vhost: fix retry logic on eth rx path
David Marchand
david.marchand at redhat.com
Mon Jun 20 09:36:10 CEST 2022
On Mon, Jun 20, 2022 at 5:20 AM Xia, Chenbo <chenbo.xia at intel.com> wrote:
> > drain_eth_rx() uses rte_vhost_avail_entries() to calculate
> > the available entries to determine if a retry is required.
> > However, this function only works with split rings, and
> > calculating packed rings will return the wrong value and cause
> > unnecessary retries resulting in a significant performance penalty.
> >
> > This patch fix that by using the difference between tx/rx burst
> > as the retry condition.
>
> Does it mean we don't need the API rte_vhost_avail_entries() anymore?
>
> Jiayu/Yuan/Maxime, what do you think?
FWIW, I still see a user:
virtio-forwarder/virtio_vhostuser.c: * This check ensures that we
do not call rte_vhost_avail_entries
virtio-forwarder/virtio_worker.c: try_rcv =
rte_vhost_avail_entries((int)relay->vio.vio_dev,
Cc'd a few Corigine guys.
--
David Marchand
More information about the stable
mailing list