tools, perf: add and use optimized ring_buffer_{read_head, write_tail} helpers
[sfrench/cifs-2.6.git] / tools / arch / s390 / include / asm / barrier.h
index 5030c99f47d2057e916edd38a2d91ed15beb63c6..de362fa664d4f99c7138d495d8fdf53783001891 100644 (file)
 #define rmb()                          mb()
 #define wmb()                          mb()
 
+#define smp_store_release(p, v)                        \
+do {                                           \
+       barrier();                              \
+       WRITE_ONCE(*p, v);                      \
+} while (0)
+
+#define smp_load_acquire(p)                    \
+({                                             \
+       typeof(*p) ___p1 = READ_ONCE(*p);       \
+       barrier();                              \
+       ___p1;                                  \
+})
+
 #endif /* __TOOLS_LIB_ASM_BARRIER_H */