svm: fix mem ordering for enqueue nocopy 38/17738/2
authorFlorin Coras <fcoras@cisco.com>
Thu, 21 Feb 2019 07:13:43 +0000 (23:13 -0800)
committerDamjan Marion <dmarion@me.com>
Thu, 21 Feb 2019 12:26:51 +0000 (12:26 +0000)
Change-Id: Ibc852f88747125a895415570349975d3b379a6f4
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/svm/svm_fifo.h

index 07614b4..d7146ae 100644 (file)
@@ -235,7 +235,7 @@ svm_fifo_enqueue_nocopy (svm_fifo_t * f, u32 bytes)
 {
   ASSERT (bytes <= svm_fifo_max_enqueue (f));
   f->tail = (f->tail + bytes) % f->nitems;
-  f->cursize += bytes;
+  clib_atomic_fetch_add_rel (&f->cursize, bytes);
 }
 
 always_inline u8 *