From: Mathieu Desnoyers Date: Tue, 8 May 2012 20:47:28 +0000 (-0400) Subject: uatomic: add memory barrier API for and/or/add/sub/inc/sub X-Git-Tag: v0.7.0~14 X-Git-Url: https://git.liburcu.org/?a=commitdiff_plain;h=2812a2d2cfdfeea621768de1a0216bc1549a4902;hp=2812a2d2cfdfeea621768de1a0216bc1549a4902;p=urcu.git uatomic: add memory barrier API for and/or/add/sub/inc/sub Implement: cmm_smp_mb__before_and, cmm_smp_mb__after_and cmm_smp_mb__before_or, cmm_smp_mb__after_or cmm_smp_mb__before_add, cmm_smp_mb__after_add cmm_smp_mb__before_sub, cmm_smp_mb__after_sub cmm_smp_mb__before_inc, cmm_smp_mb__after_inc cmm_smp_mb__before_dec, cmm_smp_mb__after_dec For generic and x86. These currently translate into simple compiler barriers on all architectures, but the and/or/add/sub/inc/dec uatomics do not provide memory ordering guarantees (only uatomic_add_return, uatomic_sub_return, uatomic_xchg, and uatomic_cmpxchg provides full memory barrier guarantees before and after the atomic operations). Signed-off-by: Mathieu Desnoyers ---