#ifndef _KERNEL_AMD64_MEMORYBARRIER_H #define _KERNEL_AMD64_MEMORYBARRIER_H #define memory_barrier() \ do { \ __asm__ volatile ("mfence" ::: "memory"); \ } while (0) #define read_memory_barrier() \ do { \ __asm__ volatile ("lfence" ::: "memory"); \ } while (0) #define write_memory_barrier() \ do { \ __asm__ volatile ("sfence" ::: "memory"); \ } while (0) #endif // _KERNEL_AMD64_MEMORYBARRIER_H