From f93c84e1b07474a7d776403b3516feeff4f3c933 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 8 Jan 2019 06:51:07 -0700 Subject: Initial commit Signed-off-by: Jens Axboe --- src/barrier.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/barrier.h (limited to 'src/barrier.h') diff --git a/src/barrier.h b/src/barrier.h new file mode 100644 index 0000000..0fd5c39 --- /dev/null +++ b/src/barrier.h @@ -0,0 +1,16 @@ +#ifndef LIBURING_BARRIER_H +#define LIBURING_BARRIER_H + +#if defined(__x86_64) +#define read_barrier() __asm__ __volatile__("lfence":::"memory") +#define write_barrier() __asm__ __volatile__("sfence":::"memory") +#else +/* + * Add arch appropriate definitions. Be safe and use full barriers for + * archs we don't have support for. + */ +#define read_barrier() __sync_synchronize() +#define write_barrier() __sync_synchronize() +#endif + +#endif -- cgit