vppinfra: conformed spinlocks to use CLIB_PAUSE
[vpp.git] / src / svm / ssvm.h
index 1c0373f..6c67945 100644 (file)
@@ -37,6 +37,7 @@
 #include <vppinfra/heap.h>
 #include <vppinfra/pool.h>
 #include <vppinfra/format.h>
+#include <vppinfra/lock.h>
 
 #ifndef MMAP_PAGESIZE
 #define MMAP_PAGESIZE (clib_mem_get_page_size())
@@ -104,7 +105,7 @@ ssvm_lock (ssvm_shared_header_t * h, u32 my_pid, u32 tag)
     }
 
   while (clib_atomic_test_and_set (&h->lock))
-    ;
+    CLIB_PAUSE ();
 
   h->owner_pid = my_pid;
   h->recursion_count = 1;
@@ -115,7 +116,7 @@ always_inline void
 ssvm_lock_non_recursive (ssvm_shared_header_t * h, u32 tag)
 {
   while (clib_atomic_test_and_set (&h->lock))
-    ;
+    CLIB_PAUSE ();
 
   h->tag = tag;
 }