__smp_mb
#define __smp_mb() dmb(ish)
#define __smp_mb() dmb(ish)
#define __smp_mb() __bar_brwarw()
#define __smp_mb() o_sync()
# define __smp_mb() __sync()
# define __smp_mb() barrier()
#define __smp_mb() mb()
#define __smp_mb() __mb()
#define __smp_mb() RISCV_FENCE(rw, rw)
#define __smp_mb() __mb()
#define __smp_mb() do { int tmp = 0; __asm__ __volatile__ ("cas.l %0,%0,@%1" : "+r"(tmp) : "z"(&tmp) : "memory", "t"); } while(0)
#define __smp_mb() asm volatile("lock addl $0,-4(%%" _ASM_SP ")" ::: "memory", "cc")
#define __smp_mb() __mb()
#define __smp_mb() mb()