]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - include/linux/atomic.h
Update bcachefs sources to 0d63ed13ea3d closures: Fix race in closure_sync()
[bcachefs-tools-debian] / include / linux / atomic.h
index f4d047c1505e207049956ba63511b8a7be0681f0..f1464cf3e0c371721745f78de13b2f03496eecc0 100644 (file)
@@ -47,6 +47,7 @@ typedef struct {
 #define smp_rmb()                      cmm_smp_rmb()
 #define smp_mb()                       cmm_smp_mb()
 #define smp_read_barrier_depends()     cmm_smp_read_barrier_depends()
+#define smp_acquire__after_ctrl_dep()  cmm_smp_mb()
 
 #else /* C11_ATOMICS */
 
@@ -205,6 +206,11 @@ static inline i_type a_type##_dec_return(a_type##_t *v)                    \
        return __ATOMIC_DEC_RETURN(&v->counter);                        \
 }                                                                      \
                                                                        \
+static inline i_type a_type##_dec_return_release(a_type##_t *v)                \
+{                                                                      \
+       return __ATOMIC_SUB_RETURN_RELEASE(1, &v->counter);             \
+}                                                                      \
+                                                                       \
 static inline void a_type##_inc(a_type##_t *v)                         \
 {                                                                      \
        __ATOMIC_INC(&v->counter);                                      \