Update barriers for x86/x86-64

Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Jens Axboe
2019-01-16 09:04:02 -07:00
parent b93edf5b9e
commit 6110279661

View File

@@ -1,12 +1,9 @@
#ifndef LIBURING_BARRIER_H #ifndef LIBURING_BARRIER_H
#define LIBURING_BARRIER_H #define LIBURING_BARRIER_H
#if defined(__x86_64) #if defined(__x86_64) || defined(__i386__)
#define read_barrier() __asm__ __volatile__("lfence":::"memory") #define read_barrier() __asm__ __volatile__("":::"memory")
#define write_barrier() __asm__ __volatile__("sfence":::"memory") #define write_barrier() __asm__ __volatile__("":::"memory")
#elif defined(__i386__)
#define read_barrier() __asm__ __volatile__("": : :"memory")
#define write_barrier() __asm__ __volatile__("": : :"memory")
#else #else
/* /*
* Add arch appropriate definitions. Be safe and use full barriers for * Add arch appropriate definitions. Be safe and use full barriers for