From bc5738d57df83e28de6364f6ec87ea6e842e14d5 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Sat, 19 Mar 2011 15:48:13 +0100 Subject: [PATCH] Add compiler and hardware barrier macro's. --- src/util-optimize.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/util-optimize.h b/src/util-optimize.h index ccf3cc2466..78eff1230e 100644 --- a/src/util-optimize.h +++ b/src/util-optimize.h @@ -27,5 +27,17 @@ #define likely(expr) __builtin_expect(!!(expr), 1) #define unlikely(expr) __builtin_expect(!!(expr), 0) +/** from http://en.wikipedia.org/wiki/Memory_ordering + * + * C Compiler memory barrier + */ +#define cc_barrier() __asm__ __volatile__("": : :"memory") + +/** from http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins.html + * + * Hardware memory barrier + */ +#define hw_barrier() __sync_synchronize() + #endif /* __UTIL_OPTIMIZE_H__ */