...
Survey of Existing Concurrency Primitives
Linux
The various memory fences are defined in arch/x86/include/asm/system.h as follows:
No Format |
---|
#define mb() asm volatile("mfence":::"memory")
#define rmb() asm volatile("lfence":::"memory")
#define wmb() asm volatile("sfence" ::: "memory")
|