app/compress-perf: fix cycle count operations allocation
authorRaja Zidane <rzidane@nvidia.com>
Wed, 23 Feb 2022 13:32:17 +0000 (15:32 +0200)
committerAkhil Goyal <gakhil@marvell.com>
Fri, 4 Mar 2022 07:32:09 +0000 (08:32 +0100)
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 occurs 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

index 1d8e5fe..c215547 100644 (file)
@@ -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");