aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/avf/input.c3
-rw-r--r--src/plugins/avf/output.c4
2 files changed, 3 insertions, 4 deletions
diff --git a/src/plugins/avf/input.c b/src/plugins/avf/input.c
index 0ccf7721835..9d677ab96d5 100644
--- a/src/plugins/avf/input.c
+++ b/src/plugins/avf/input.c
@@ -125,8 +125,7 @@ avf_rxq_refill (vlib_main_t * vm, vlib_node_runtime_t * node, avf_rxq_t * rxq,
n_alloc -= 8;
}
- CLIB_MEMORY_STORE_BARRIER ();
- *(rxq->qrx_tail) = slot;
+ clib_atomic_store_rel_n (rxq->qrx_tail, slot);
}
diff --git a/src/plugins/avf/output.c b/src/plugins/avf/output.c
index e5b53ba5457..de645319e73 100644
--- a/src/plugins/avf/output.c
+++ b/src/plugins/avf/output.c
@@ -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;
}