[PATCH v4] examples/vhost: fix retry logic on eth rx path
Maxime Coquelin
maxime.coquelin at redhat.com
Fri Jul 1 15:57:24 CEST 2022
On 6/22/22 11:25, Yuan Wang 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.
>
> Fixes: be800696c26e ("examples/vhost: use burst enqueue and dequeue from lib")
> Cc: stable at dpdk.org
>
> Signed-off-by: Yuan Wang <yuanx.wang at intel.com>
> Tested-by: Wei Ling <weix.ling at intel.com>
> ---
> V4: Fix fiexs tag.
> V3: Fix mbuf index.
> V2: Rebase to 22.07 rc1.
> ---
> examples/vhost/main.c | 28 +++++++++++-----------------
> 1 file changed, 11 insertions(+), 17 deletions(-)
Applied to dpdk-next-virtio/main.
Thanks,
Maxime
__ATOMIC_SEQ_CST);
More information about the stable
mailing list