avf: use atomic store instead of barrier
[vpp.git] / src / plugins / avf / output.c
index e5b53ba..de64531 100644 (file)
@@ -257,8 +257,8 @@ avf_tx_enqueue (vlib_main_t * vm, vlib_node_runtime_t * node, avf_txq_t * txq,
       d[0].qword[1] |= AVF_TXD_CMD_RS;
     }
 
-  CLIB_MEMORY_BARRIER ();
-  *(txq->qtx_tail) = txq->next = next & mask;
+  txq->next = next & mask;
+  clib_atomic_store_rel_n (txq->qtx_tail, txq->next);
   txq->n_enqueued += n_desc;
   return n_packets - n_packets_left;
 }