app/crypto-perf: fix operation free
[dpdk.git] / app / test-crypto-perf / cperf_test_latency.c
index 1a42602..58b21ab 100644 (file)
@@ -291,7 +291,8 @@ cperf_latency_test_constructor(struct rte_mempool *sess_mp,
 
        uint16_t priv_size = sizeof(struct priv_op_data) +
                        test_vector->cipher_iv.length +
-                       test_vector->auth_iv.length;
+                       test_vector->auth_iv.length +
+                       test_vector->aead_iv.length;
        ctx->crypto_op_pool = rte_crypto_op_pool_create(pool_name,
                        RTE_CRYPTO_OP_TYPE_SYMMETRIC, options->pool_sz,
                        512, priv_size, rte_socket_id());
@@ -391,8 +392,14 @@ cperf_latency_test_runner(void *arg)
                        if (burst_size != rte_crypto_op_bulk_alloc(
                                        ctx->crypto_op_pool,
                                        RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-                                       ops, burst_size))
+                                       ops, burst_size)) {
+                               RTE_LOG(ERR, USER1,
+                                       "Failed to allocate more crypto operations "
+                                       "from the the crypto operation pool.\n"
+                                       "Consider increasing the pool size "
+                                       "with --pool-sz\n");
                                return -1;
+                       }
 
                        /* Setup crypto op, attach mbuf etc */
                        (ctx->populate_ops)(ops, &ctx->mbufs_in[m_idx],
@@ -426,7 +433,7 @@ cperf_latency_test_runner(void *arg)
                        /* Free memory for not enqueued operations */
                        if (ops_enqd != burst_size)
                                rte_mempool_put_bulk(ctx->crypto_op_pool,
-                                               (void **)&ops_processed[ops_enqd],
+                                               (void **)&ops[ops_enqd],
                                                burst_size - ops_enqd);
 
                        for (i = 0; i < ops_enqd; i++) {
@@ -579,6 +586,7 @@ cperf_latency_test_destructor(void *arg)
        if (ctx == NULL)
                return;
 
-       cperf_latency_test_free(ctx, ctx->options->pool_sz);
+       rte_cryptodev_stop(ctx->dev_id);
 
+       cperf_latency_test_free(ctx, ctx->options->pool_sz);
 }