app/crypto-perf: fix crypto operation resubmission

This patch fixes the crypto operation resubmission problem in crypto
perferformance test. Originally, when needed crypto ops amount is
smaller than the enqueued crypto ops in the last round, one or more
processed crypto operations will be re-enqueued.

Fixes: f8be1786b1 ("app/crypto-perf: introduce performance test application")
Cc: stable@dpdk.org

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This commit is contained in:
Fan Zhang 2017-04-18 15:48:31 +01:00 committed by Pablo de Lara
parent dc8bd2f633
commit 44e2980b70

View File

@ -348,6 +348,19 @@ cperf_throughput_test_runner(void *test_ctx)
ops_needed, ctx->sess, ctx->options,
ctx->test_vector);
/**
* When ops_needed is smaller than ops_enqd, the
* unused ops need to be moved to the front for
* next round use.
*/
if (unlikely(ops_enqd > ops_needed)) {
size_t nb_b_to_mov = ops_unused * sizeof(
struct rte_crypto_op *);
memmove(&ops[ops_needed], &ops[ops_enqd],
nb_b_to_mov);
}
#ifdef CPERF_LINEARIZATION_ENABLE
if (linearize) {
/* PMD doesn't support scatter-gather and source buffer