In cyclecount main_loop function, each iteration it tries to enqueue X ops,
in case Y<X ops were enqueued, the rest of the X-Y ops are moved to the
beginning of the ops array, to preserve ops order, and next Y ops are
allocated for the next enqueue action, the allocation of the ops occures on
the first Y entries in the array, when it should have skipped the first X-Y
array entries and allocate the following Y entries.
Fix the allocation by adding the correct offset.
Fixes: 2695db95a147 ("test/compress: add cycle-count mode to perf tool")
Cc: stable@dpdk.org
Signed-off-by: Raja Zidane <rzidane@nvidia.com>
---
Acked-by: Matan Azrad matan@nvidia.com
app/test-compress-perf/comp_perf_test_cyclecount.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/test-compress-perf/comp_perf_test_cyclecount.c b/app/test-compress-perf/comp_perf_test_cyclecount.c
index 1d8e5fe6c2..c215547291 100644
--- a/app/test-compress-perf/comp_perf_test_cyclecount.c
+++ b/app/test-compress-perf/comp_perf_test_cyclecount.c
@@ -273,7 +273,7 @@ main_loop(struct cperf_cyclecount_ctx *ctx, enum rte_comp_xform_type type)
/* Allocate compression operations */
if (ops_needed && rte_mempool_get_bulk(
mem->op_pool,
- (void **)ops,
+ (void **)&ops[ops_unused],
ops_needed) != 0) {
RTE_LOG(ERR, USER1,
"Could not allocate enough operations\n");
--
2.21.0