app/crypto-perf: check crypto result
PATCH 1/1 app/crypto-perf: check crypto result
Check crypto result in latency tests. Checking result won't affect the test results as latency is calculated using timestamps which are done before enqueue and after dequeue. Ignoring result means the data can be false positive.
--- app/test-crypto-perf/cperf_test_latency.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-)
app/test-crypto-perf/cperf_test_latency.c +20 -3
@@ -134,6 +134,7 @@ cperf_latency_test_runner(void *arg)uint16_t test_burst_size;uint8_t burst_size_idx =0 ;uint32_t imix_idx =0 ; +int ret =0 ;static uint16_t display_once;
@@ -258,10 +259,16 @@ cperf_latency_test_runner(void *arg) }if (likely (ops_deqd)) { -/* Free crypto ops so they can be reused. */ -for (i =0 ; i < ops_deqd; i++) +for (i =0 ; i < ops_deqd; i++) { +struct rte_crypto_op *op = ops_processed[i]; + +if (op->status ==RTE_CRYPTO_OP_STATUS_ERROR ) + ret =-1 ; +store_timestamp (ops_processed[i], tsc_end); + } +/* Free crypto ops so they can be reused. */ rte_mempool_put_bulk (ctx->pool, (void **)ops_processed, ops_deqd);
@@ -289,8 +296,14 @@ cperf_latency_test_runner(void *arg) tsc_end =rte_rdtsc_precise ();if (ops_deqd !=0 ) { -for (i =0 ; i < ops_deqd; i++) +for (i =0 ; i < ops_deqd; i++) { +struct rte_crypto_op *op = ops_processed[i]; + +if (op->status ==RTE_CRYPTO_OP_STATUS_ERROR ) + ret =-1 ; +store_timestamp (ops_processed[i], tsc_end); + }rte_mempool_put_bulk (ctx->pool, (void **)ops_processed, ops_deqd);
@@ -301,6 +314,10 @@ cperf_latency_test_runner(void *arg) } } +/* If there was any failure in crypto op, exit */ +if (ret) +return ret; +for (i =0 ; i < tsc_idx; i++) { tsc_val = ctx->res[i].tsc_end - ctx->res[i].tsc_start; tsc_max =RTE_MAX (tsc_val, tsc_max);
Signature · 1 line
2.25.1
PATCH v2 1/1 app/crypto-perf: check crypto result
Check crypto result in latency tests. Checking result won't affect the test results as latency is calculated using timestamps which are done before enqueue and after dequeue. Ignoring result means the data can be false positive.
---
v2:
- Improved result check (treat all non success as errors)
app/test-crypto-perf/cperf_test_latency.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-)
app/test-crypto-perf/cperf_test_latency.c +20 -3
@@ -134,6 +134,7 @@ cperf_latency_test_runner(void *arg)uint16_t test_burst_size;uint8_t burst_size_idx =0 ;uint32_t imix_idx =0 ; +int ret =0 ;static uint16_t display_once;
@@ -258,10 +259,16 @@ cperf_latency_test_runner(void *arg) }if (likely (ops_deqd)) { -/* Free crypto ops so they can be reused. */ -for (i =0 ; i < ops_deqd; i++) +for (i =0 ; i < ops_deqd; i++) { +struct rte_crypto_op *op = ops_processed[i]; + +if (op->status !=RTE_CRYPTO_OP_STATUS_SUCCESS ) + ret =-1 ; +store_timestamp (ops_processed[i], tsc_end); + } +/* Free crypto ops so they can be reused. */ rte_mempool_put_bulk (ctx->pool, (void **)ops_processed, ops_deqd);
@@ -289,8 +296,14 @@ cperf_latency_test_runner(void *arg) tsc_end =rte_rdtsc_precise ();if (ops_deqd !=0 ) { -for (i =0 ; i < ops_deqd; i++) +for (i =0 ; i < ops_deqd; i++) { +struct rte_crypto_op *op = ops_processed[i]; + +if (op->status !=RTE_CRYPTO_OP_STATUS_SUCCESS ) + ret =-1 ; +store_timestamp (ops_processed[i], tsc_end); + }rte_mempool_put_bulk (ctx->pool, (void **)ops_processed, ops_deqd);
@@ -301,6 +314,10 @@ cperf_latency_test_runner(void *arg) } } +/* If there was any failure in crypto op, exit */ +if (ret) +return ret; +for (i =0 ; i < tsc_idx; i++) { tsc_val = ctx->res[i].tsc_end - ctx->res[i].tsc_start; tsc_max =RTE_MAX (tsc_val, tsc_max);
Signature · 1 line
2.25.1
Quoted 20 lines
-----Original Message-----
From: Anoob Joseph <[email protected]>
Sent: Thursday 20 April 2023 13:23
To: Power, Ciara <[email protected]>; Akhil Goyal <[email protected]>
Cc: Jerin Jacob <[email protected]>; Tejasree Kondoj <[email protected]>; [email protected]
Subject: [PATCH v2] app/crypto-perf: check crypto resultCheck crypto result in latency tests. Checking result won't affect the test results as latency is calculated using timestamps which are done before enqueue and after dequeue. Ignoring result means the data can be false positive.
Signed-off-by Anoob Joseph <[email protected]>---
v2:
- Improved result check (treat all non success as errors)
<snip>
Akhil Goyal
AppliedQuoted 9 lines
Quoted 8 lines
Subject: [PATCH v2] app/crypto-perf: check crypto result
Check crypto result in latency tests. Checking result won't affect the test results as latency is calculated using timestamps which are done before enqueue and after dequeue. Ignoring result means the data can be false positive.
Signed-off-by Anoob Joseph <[email protected]>Acked-by Ciara Power <[email protected]>
Applied to dpdk-next-crypto
Thanks.