examples/vhost: fix ioat ring space in callbacks
authorCheng Jiang <cheng1.jiang@intel.com>
Wed, 17 Mar 2021 05:40:54 +0000 (05:40 +0000)
committerChenbo Xia <chenbo.xia@intel.com>
Wed, 28 Apr 2021 01:58:50 +0000 (03:58 +0200)
We use ioat ring space for determining if ioat callbacks can enqueue a
packet to ioat device. But there is one slot can't be used in ioat
ring due to the ioat driver design, so we need to reduce one slot in
ioat ring to prevent ring size mismatch in ioat callbacks.

Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and check")
Cc: stable@dpdk.org
Signed-off-by: Cheng Jiang <cheng1.jiang@intel.com>
Reviewed-by: Jiayu Hu <jiayu.hu@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
examples/vhost/ioat.c

index efdd3f6..2a2c2d7 100644 (file)
@@ -113,7 +113,7 @@ open_ioat(const char *value)
                        goto out;
                }
                rte_rawdev_start(dev_id);
-               cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
+               cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
                dma_info->nr++;
                i++;
        }