X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fsmp.h;h=7146e51ac77779e4291c3b433f8b08af281e8018;hb=a22ba8859a108569b457d18873a52a91f1387a38;hp=7e703b3d6aa576ae4693bf87b1992a5a6396d842;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vppinfra/smp.h b/src/vppinfra/smp.h index 7e703b3d6aa..7146e51ac77 100644 --- a/src/vppinfra/smp.h +++ b/src/vppinfra/smp.h @@ -41,12 +41,12 @@ #include #include /* for os_panic */ -#define clib_smp_compare_and_swap(addr,new,old) __sync_val_compare_and_swap(addr,old,new) #define clib_smp_swap(addr,new) __sync_lock_test_and_set(addr,new) -#define clib_smp_atomic_add(addr,increment) __sync_fetch_and_add(addr,increment) #if defined (i386) || defined (__x86_64__) #define clib_smp_pause() do { asm volatile ("pause"); } while (0) +#elif defined (__aarch64__) || defined (__arm__) +#define clib_smp_pause() do { asm volatile ("isb" ::: "memory"); } while (0) #endif #ifndef clib_smp_pause