- #if defined(__i386__) || defined(__x86_64__)
- #define barrier() asm volatile("" ::: "memory")
- #define mb() __sync_synchronize()
- #define smp_mb() mb()
- # define smp_rmb() barrier()
- # define smp_wmb() barrier()
- /* Weak barriers should be used. If not - it's a bug */
- # define rmb() abort()
- # define wmb() abort()
- #else
- #error Please fill in barrier macros
- #endif
|