barrier.h 441 B

12345678910111213141516
  1. #ifndef LIBURING_BARRIER_H
  2. #define LIBURING_BARRIER_H
  3. #if defined(__x86_64) || defined(__i386__)
  4. #define read_barrier() __asm__ __volatile__("":::"memory")
  5. #define write_barrier() __asm__ __volatile__("":::"memory")
  6. #else
  7. /*
  8. * Add arch appropriate definitions. Be safe and use full barriers for
  9. * archs we don't have support for.
  10. */
  11. #define read_barrier() __sync_synchronize()
  12. #define write_barrier() __sync_synchronize()
  13. #endif
  14. #endif