]> git.droids-corp.org - dpdk.git/blobdiff - app/test-eventdev/test_perf_common.h
net/ena/base: add device argument to logging macros
[dpdk.git] / app / test-eventdev / test_perf_common.h
index ff9705df887f0d166899d66d41afc2f46ee490c0..9785dc3e239c1e400c4ec66bf9d6884f4f6ef37b 100644 (file)
@@ -97,8 +97,13 @@ perf_process_last_stage(struct rte_mempool *const pool,
                void *bufs[], int const buf_sz, uint8_t count)
 {
        bufs[count++] = ev->event_ptr;
+
+       /* release fence here ensures event_prt is
+        * stored before updating the number of
+        * processed packets for worker lcores
+        */
+       rte_atomic_thread_fence(__ATOMIC_RELEASE);
        w->processed_pkts++;
-       rte_smp_wmb();
 
        if (unlikely(count == buf_sz)) {
                count = 0;
@@ -116,6 +121,12 @@ perf_process_last_stage_latency(struct rte_mempool *const pool,
        struct perf_elt *const m = ev->event_ptr;
 
        bufs[count++] = ev->event_ptr;
+
+       /* release fence here ensures event_prt is
+        * stored before updating the number of
+        * processed packets for worker lcores
+        */
+       rte_atomic_thread_fence(__ATOMIC_RELEASE);
        w->processed_pkts++;
 
        if (unlikely(count == buf_sz)) {
@@ -127,7 +138,6 @@ perf_process_last_stage_latency(struct rte_mempool *const pool,
        }
 
        w->latency += latency;
-       rte_smp_wmb();
        return count;
 }