1907ce4bae
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@dpdk.org Signed-off-by: Yuan Wang <yuanx.wang@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Tested-by: Wei Ling <weix.ling@intel.com>