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;
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)) {
}
w->latency += latency;
- rte_smp_wmb();
return count;
}