test/compress: add stateless overflow recovery case
[dpdk.git] / app / test-crypto-perf / cperf_test_latency.c
index c590b40..62478a2 100644 (file)
@@ -62,6 +62,7 @@ cperf_latency_test_free(struct cperf_latency_ctx *ctx)
 
 void *
 cperf_latency_test_constructor(struct rte_mempool *sess_mp,
+               struct rte_mempool *sess_priv_mp,
                uint8_t dev_id, uint16_t qp_id,
                const struct cperf_options *options,
                const struct cperf_test_vector *test_vector,
@@ -86,8 +87,8 @@ cperf_latency_test_constructor(struct rte_mempool *sess_mp,
                sizeof(struct rte_crypto_sym_op) +
                sizeof(struct cperf_op_result *);
 
-       ctx->sess = op_fns->sess_create(sess_mp, dev_id, options, test_vector,
-                       iv_offset);
+       ctx->sess = op_fns->sess_create(sess_mp, sess_priv_mp, dev_id, options,
+                       test_vector, iv_offset);
        if (ctx->sess == NULL)
                goto err;
 
@@ -126,8 +127,9 @@ cperf_latency_test_runner(void *arg)
        struct cperf_latency_ctx *ctx = arg;
        uint16_t test_burst_size;
        uint8_t burst_size_idx = 0;
+       uint32_t imix_idx = 0;
 
-       static int only_once;
+       static rte_atomic16_t display_once = RTE_ATOMIC16_INIT(0);
 
        if (ctx == NULL)
                return 0;
@@ -190,7 +192,7 @@ cperf_latency_test_runner(void *arg)
                                                burst_size) != 0) {
                                RTE_LOG(ERR, USER1,
                                        "Failed to allocate more crypto operations "
-                                       "from the the crypto operation pool.\n"
+                                       "from the crypto operation pool.\n"
                                        "Consider increasing the pool size "
                                        "with --pool-sz\n");
                                return -1;
@@ -200,7 +202,8 @@ cperf_latency_test_runner(void *arg)
                        (ctx->populate_ops)(ops, ctx->src_buf_offset,
                                        ctx->dst_buf_offset,
                                        burst_size, ctx->sess, ctx->options,
-                                       ctx->test_vector, iv_offset);
+                                       ctx->test_vector, iv_offset,
+                                       &imix_idx);
 
                        tsc_start = rte_rdtsc_precise();
 
@@ -308,7 +311,7 @@ cperf_latency_test_runner(void *arg)
                time_min = tunit*(double)(tsc_min) / tsc_hz;
 
                if (ctx->options->csv) {
-                       if (!only_once)
+                       if (rte_atomic16_test_and_set(&display_once))
                                printf("\n# lcore, Buffer Size, Burst Size, Pakt Seq #, "
                                                "Packet Size, cycles, time (us)");
 
@@ -323,7 +326,6 @@ cperf_latency_test_runner(void *arg)
                                                / tsc_hz);
 
                        }
-                       only_once = 1;
                } else {
                        printf("\n# Device %d on lcore %u\n", ctx->dev_id,
                                ctx->lcore_id);