X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=urcu%2Fuatomic%2Fgeneric.h;h=54d2a8c34a4b744fa021e03ef4fd0a78eb343465;hb=d0bbd9c2e8322f036e0a0a70091cae98cad7e390;hp=4ef71c77604eb4b96ba7913b4268aef6a3618250;hpb=2812a2d2cfdfeea621768de1a0216bc1549a4902;p=userspace-rcu.git diff --git a/urcu/uatomic/generic.h b/urcu/uatomic/generic.h index 4ef71c7..54d2a8c 100644 --- a/urcu/uatomic/generic.h +++ b/urcu/uatomic/generic.h @@ -29,7 +29,7 @@ extern "C" { #endif #ifndef uatomic_set -#define uatomic_set(addr, v) CMM_STORE_SHARED(*(addr), (v)) +#define uatomic_set(addr, v) ((void) CMM_STORE_SHARED(*(addr), (v))) #endif #ifndef uatomic_read @@ -41,8 +41,10 @@ static inline __attribute__((always_inline)) void _uatomic_link_error() { #ifdef ILLEGAL_INSTR - /* generate an illegal instruction. Cannot catch this with linker tricks - * when optimizations are disabled. */ + /* + * generate an illegal instruction. Cannot catch this with + * linker tricks when optimizations are disabled. + */ __asm__ __volatile__(ILLEGAL_INSTR); #else __builtin_trap (); @@ -122,8 +124,8 @@ void _uatomic_and(void *addr, unsigned long val, (_uatomic_and((addr), \ caa_cast_long_keep_sign(v), \ sizeof(*(addr)))) -#define cmm_smp_mb__before_and() cmm_barrier() -#define cmm_smp_mb__after_and() cmm_barrier() +#define cmm_smp_mb__before_uatomic_and() cmm_barrier() +#define cmm_smp_mb__after_uatomic_and() cmm_barrier() #endif @@ -162,8 +164,8 @@ void _uatomic_or(void *addr, unsigned long val, (_uatomic_or((addr), \ caa_cast_long_keep_sign(v), \ sizeof(*(addr)))) -#define cmm_smp_mb__before_or() cmm_barrier() -#define cmm_smp_mb__after_or() cmm_barrier() +#define cmm_smp_mb__before_uatomic_or() cmm_barrier() +#define cmm_smp_mb__after_uatomic_or() cmm_barrier() #endif @@ -335,8 +337,8 @@ void _uatomic_and(void *addr, unsigned long val, int len) (_uatomic_and((addr), \ caa_cast_long_keep_sign(v), \ sizeof(*(addr)))) -#define cmm_smp_mb__before_and() cmm_barrier() -#define cmm_smp_mb__after_and() cmm_barrier() +#define cmm_smp_mb__before_uatomic_and() cmm_barrier() +#define cmm_smp_mb__after_uatomic_and() cmm_barrier() #endif /* #ifndef uatomic_and */ @@ -409,8 +411,8 @@ void _uatomic_or(void *addr, unsigned long val, int len) (_uatomic_or((addr), \ caa_cast_long_keep_sign(v), \ sizeof(*(addr)))) -#define cmm_smp_mb__before_or() cmm_barrier() -#define cmm_smp_mb__after_or() cmm_barrier() +#define cmm_smp_mb__before_uatomic_or() cmm_barrier() +#define cmm_smp_mb__after_uatomic_or() cmm_barrier() #endif /* #ifndef uatomic_or */ @@ -572,27 +574,27 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len) #ifndef uatomic_add #define uatomic_add(addr, v) (void)uatomic_add_return((addr), (v)) -#define cmm_smp_mb__before_add() cmm_barrier() -#define cmm_smp_mb__after_add() cmm_barrier() +#define cmm_smp_mb__before_uatomic_add() cmm_barrier() +#define cmm_smp_mb__after_uatomic_add() cmm_barrier() #endif #define uatomic_sub_return(addr, v) \ uatomic_add_return((addr), -(caa_cast_long_keep_sign(v))) #define uatomic_sub(addr, v) \ uatomic_add((addr), -(caa_cast_long_keep_sign(v))) -#define cmm_smp_mb__before_sub() cmm_smp_mb__before_add() -#define cmm_smp_mb__after_sub() cmm_smp_mb__after_add() +#define cmm_smp_mb__before_uatomic_sub() cmm_smp_mb__before_uatomic_add() +#define cmm_smp_mb__after_uatomic_sub() cmm_smp_mb__after_uatomic_add() #ifndef uatomic_inc #define uatomic_inc(addr) uatomic_add((addr), 1) -#define cmm_smp_mb__before_inc() cmm_smp_mb__before_add() -#define cmm_smp_mb__after_inc() cmm_smp_mb__after_add() +#define cmm_smp_mb__before_uatomic_inc() cmm_smp_mb__before_uatomic_add() +#define cmm_smp_mb__after_uatomic_inc() cmm_smp_mb__after_uatomic_add() #endif #ifndef uatomic_dec #define uatomic_dec(addr) uatomic_add((addr), -1) -#define cmm_smp_mb__before_dec() cmm_smp_mb__before_add() -#define cmm_smp_mb__after_dec() cmm_smp_mb__after_add() +#define cmm_smp_mb__before_uatomic_dec() cmm_smp_mb__before_uatomic_add() +#define cmm_smp_mb__after_uatomic_dec() cmm_smp_mb__after_uatomic_add() #endif #ifdef __cplusplus