smp_mb
#ifndef smp_mb
#define smp_store_mb(x, v) do { WRITE_ONCE(x, v); smp_mb(); } while (0)
#define smp_store_release(p, v) do { smp_mb(); WRITE_ONCE(*p, v); } while (0)
#define smp_load_acquire(p) ({ typeof(*p) _v = READ_ONCE(*p); smp_mb(); _v; })
smp_mb();
#define nm_stld_barrier smp_mb