From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 491559E3 for ; Tue, 18 Apr 2017 16:46:42 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Apr 2017 07:46:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,219,1488873600"; d="scan'208";a="1137207856" Received: from silpixa00381633.ir.intel.com (HELO silpixa00381633.ger.corp.intel.com) ([10.237.222.114]) by fmsmga001.fm.intel.com with ESMTP; 18 Apr 2017 07:46:40 -0700 From: Fan Zhang To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com, stable@dpdk.com Date: Tue, 18 Apr 2017 15:48:31 +0100 Message-Id: <1492526911-110534-1-git-send-email-roy.fan.zhang@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1492526226-109903-1-git-send-email-roy.fan.zhang@intel.com> References: <1492526226-109903-1-git-send-email-roy.fan.zhang@intel.com> Subject: [dpdk-dev] [PATCH v3] app/test-crypto-perf: fix crypto operation resubmission X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Apr 2017 14:46:43 -0000 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 Acked-by: Pablo de Lara --- 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