raw/ioat: fix initial ring size check
When running the ioat_rawdev_autotest, the ring size was initially required to be 0. This prevented the test being run multiple times, as the ring size is modified to a non-zero value when running the first test. A global variable is now used to track the expected ring size, and is used in the initial value check. This enables the test to be run more than once. Fixes: 849470d522ed ("raw/ioat: add configure, start and stop functions") Cc: stable@dpdk.org Reported-by: Yinan Wang <yinan.wang@intel.com> Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
df769483bf
commit
b7c81c1403
@ -11,6 +11,7 @@
|
||||
int ioat_rawdev_test(uint16_t dev_id); /* pre-define to keep compiler happy */
|
||||
|
||||
static struct rte_mempool *pool;
|
||||
static unsigned short expected_ring_size;
|
||||
|
||||
static int
|
||||
test_enqueue_copies(int dev_id)
|
||||
@ -148,9 +149,9 @@ ioat_rawdev_test(uint16_t dev_id)
|
||||
unsigned int i;
|
||||
|
||||
rte_rawdev_info_get(dev_id, &info);
|
||||
if (p.ring_size != 0) {
|
||||
printf("Error, initial ring size is non-zero (%d)\n",
|
||||
(int)p.ring_size);
|
||||
if (p.ring_size != expected_ring_size) {
|
||||
printf("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n",
|
||||
(int)p.ring_size, expected_ring_size);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -165,6 +166,7 @@ ioat_rawdev_test(uint16_t dev_id)
|
||||
IOAT_TEST_RINGSIZE, (int)p.ring_size);
|
||||
return -1;
|
||||
}
|
||||
expected_ring_size = p.ring_size;
|
||||
|
||||
if (rte_rawdev_start(dev_id) != 0) {
|
||||
printf("Error with rte_rawdev_start()\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user