smp_mb
#define smp_mb() __asm volatile("lock; addl $0,-4(%%esp)" : : : "memory", "cc")
#define smp_mb() __asm volatile("lock; addl $0,-4(%%rsp)" : : : "memory", "cc")
#define smp_mb() __membar("dmb ish")
#define smp_mb() __membar("sync")
#define smp_mb() __membar("fence rw,rw")
#define smp_mb() mb()