barrier.h 419 B

12345678910111213141516
  1. #if defined(__i386__) || defined(__x86_64__)
  2. #define barrier() asm volatile("" ::: "memory")
  3. #define mb() __sync_synchronize()
  4. #define smp_mb() mb()
  5. # define dma_rmb() barrier()
  6. # define dma_wmb() barrier()
  7. # define smp_rmb() barrier()
  8. # define smp_wmb() barrier()
  9. /* Weak barriers should be used. If not - it's a bug */
  10. # define rmb() abort()
  11. # define wmb() abort()
  12. #else
  13. #error Please fill in barrier macros
  14. #endif