net/mlx5: fix counter in non-termination meter
[dpdk.git] / app / test-crypto-perf / cperf_test_pmd_cyclecount.c
index fda97e8..6b4d09e 100644 (file)
@@ -79,14 +79,11 @@ cperf_pmd_cyclecount_test_free(struct cperf_pmd_cyclecount_ctx *ctx)
                }
        }
 
-       if (ctx->pool)
-               rte_mempool_free(ctx->pool);
+       rte_mempool_free(ctx->pool);
 
-       if (ctx->ops)
-               rte_free(ctx->ops);
+       rte_free(ctx->ops);
 
-       if (ctx->ops_processed)
-               rte_free(ctx->ops_processed);
+       rte_free(ctx->ops_processed);
 
        rte_free(ctx);
 }
@@ -334,7 +331,7 @@ pmd_cyclecount_bench_burst_sz(
         * queue, so we never get any failed enqs unless the driver won't accept
         * the exact number of descriptors we requested, or the driver won't
         * wrap around the end of the TX ring. However, since we're only
-        * dequeueing once we've filled up the queue, we have to benchmark it
+        * dequeuing once we've filled up the queue, we have to benchmark it
         * piecemeal and then average out the results.
         */
        cur_op = 0;
@@ -404,7 +401,7 @@ cperf_pmd_cyclecount_test_runner(void *test_ctx)
        state.lcore = rte_lcore_id();
        state.linearize = 0;
 
-       static rte_atomic16_t display_once = RTE_ATOMIC16_INIT(0);
+       static uint16_t display_once;
        static bool warmup = true;
 
        /*
@@ -449,8 +446,10 @@ cperf_pmd_cyclecount_test_runner(void *test_ctx)
                        continue;
                }
 
+               uint16_t exp = 0;
                if (!opts->csv) {
-                       if (rte_atomic16_test_and_set(&display_once))
+                       if (__atomic_compare_exchange_n(&display_once, &exp, 1, 0,
+                                       __ATOMIC_RELAXED, __ATOMIC_RELAXED))
                                printf(PRETTY_HDR_FMT, "lcore id", "Buf Size",
                                                "Burst Size", "Enqueued",
                                                "Dequeued", "Enq Retries",
@@ -466,7 +465,8 @@ cperf_pmd_cyclecount_test_runner(void *test_ctx)
                                        state.cycles_per_enq,
                                        state.cycles_per_deq);
                } else {
-                       if (rte_atomic16_test_and_set(&display_once))
+                       if (__atomic_compare_exchange_n(&display_once, &exp, 1, 0,
+                                       __ATOMIC_RELAXED, __ATOMIC_RELAXED))
                                printf(CSV_HDR_FMT, "# lcore id", "Buf Size",
                                                "Burst Size", "Enqueued",
                                                "Dequeued", "Enq Retries",