[dpdk-dev] [PATCH v3] app/test-crypto-perf: fix crypto operation resubmission

Fan Zhang roy.fan.zhang at intel.com
Tue Apr 18 16:48:31 CEST 2017


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: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Fan Zhang <roy.fan.zhang at intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
---

v3:
- Added changes
- Added Pablo's ack

v2:
- Fixed memmove src and size calculation

 app/test-crypto-perf/cperf_test_throughput.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/app/test-crypto-perf/cperf_test_throughput.c b/app/test-crypto-perf/cperf_test_throughput.c
index 70ec4ff..61b27ea 100644
--- a/app/test-crypto-perf/cperf_test_throughput.c
+++ b/app/test-crypto-perf/cperf_test_throughput.c
@@ -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
-- 
2.7.4



More information about the dev mailing list