X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Felog.c;h=caddf6f37571369bd38b811ccc1fdfa5540ff6bb;hb=f52420d507f0ff810f5146b7153781e313d7bc07;hp=12ac3a596e4fdd323edbf0ac65d95448d9d82c3e;hpb=b11e4aefbee765c0c09bbe1386ec78920f9162fd;p=vpp.git diff --git a/src/vppinfra/elog.c b/src/vppinfra/elog.c index 12ac3a596e4..caddf6f3757 100644 --- a/src/vppinfra/elog.c +++ b/src/vppinfra/elog.c @@ -41,13 +41,14 @@ #include #include #include +#include static inline void elog_lock (elog_main_t * em) { if (PREDICT_FALSE (em->lock != 0)) while (clib_atomic_test_and_set (em->lock)) - ; + CLIB_PAUSE (); } static inline void @@ -55,8 +56,7 @@ elog_unlock (elog_main_t * em) { if (PREDICT_FALSE (em->lock != 0)) { - CLIB_MEMORY_BARRIER (); - *em->lock = 0; + clib_atomic_release (em->lock); } }