aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h')
-rw-r--r--sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h
index b15953e5754f..40a67704fde0 100644
--- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h
+++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/atomic.h
@@ -57,7 +57,9 @@ extern uint64_t atomic_cas_64(volatile uint64_t *target, uint64_t cmp,
uint64_t newval);
#endif
-#define membar_producer atomic_thread_fence_rel
+#define membar_consumer() atomic_thread_fence_acq()
+#define membar_producer() atomic_thread_fence_rel()
+#define membar_sync() atomic_thread_fence_seq_cst()
static __inline uint32_t
atomic_add_32_nv(volatile uint32_t *target, int32_t delta)
@@ -165,7 +167,7 @@ atomic_dec_64_nv(volatile uint64_t *target)
return (atomic_add_64_nv(target, -1));
}
-#if !defined(COMPAT_32BIT) && defined(__LP64__)
+#ifdef __LP64__
static __inline void *
atomic_cas_ptr(volatile void *target, void *cmp, void *newval)
{
@@ -179,7 +181,7 @@ atomic_cas_ptr(volatile void *target, void *cmp, void *newval)
return ((void *)atomic_cas_32((volatile uint32_t *)target,
(uint32_t)cmp, (uint32_t)newval));
}
-#endif /* !defined(COMPAT_32BIT) && defined(__LP64__) */
+#endif /* __LP64__ */
#else /* _STANDALONE */
/*