* [PATCH] liburing/barrier.h: Add prefix to arm barriers
@ 2019-08-20 12:42 Julia Suvorova
2019-08-20 13:46 ` Jens Axboe
0 siblings, 1 reply; 2+ messages in thread
From: Julia Suvorova @ 2019-08-20 12:42 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-block, Stefan Hajnoczi, Aarushi Mehta, Julia Suvorova
Rename the newly added arm barriers and READ/WRITE_ONCE
to avoid using popular names.
Signed-off-by: Julia Suvorova <jusual@redhat.com>
---
src/include/liburing/barrier.h | 46 +++++++++++++++++-----------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/src/include/liburing/barrier.h b/src/include/liburing/barrier.h
index 8efa6dd..fc40a8a 100644
--- a/src/include/liburing/barrier.h
+++ b/src/include/liburing/barrier.h
@@ -26,9 +26,9 @@ after the acquire operation executes. This is implemented using
#define io_uring_barrier() __asm__ __volatile__("": : :"memory")
/* From tools/virtio/linux/compiler.h */
-#define WRITE_ONCE(var, val) \
+#define IO_URING_WRITE_ONCE(var, val) \
(*((volatile __typeof(val) *)(&(var))) = (val))
-#define READ_ONCE(var) (*((volatile __typeof(var) *)(&(var))))
+#define IO_URING_READ_ONCE(var) (*((volatile __typeof(var) *)(&(var))))
#if defined(__x86_64__) || defined(__i386__)
@@ -49,27 +49,27 @@ after the acquire operation executes. This is implemented using
#define io_uring_smp_store_release(p, v) \
do { \
io_uring_barrier(); \
- WRITE_ONCE(*(p), (v)); \
+ IO_URING_WRITE_ONCE(*(p), (v)); \
} while (0)
-#define io_uring_smp_load_acquire(p) \
-({ \
- __typeof(*p) ___p1 = READ_ONCE(*(p)); \
- io_uring_barrier(); \
- ___p1; \
+#define io_uring_smp_load_acquire(p) \
+({ \
+ __typeof(*p) ___p1 = IO_URING_READ_ONCE(*(p)); \
+ io_uring_barrier(); \
+ ___p1; \
})
#elif defined(__aarch64__)
/* Adapted from arch/arm64/include/asm/barrier.h */
-#define dmb(opt) asm volatile("dmb " #opt : : : "memory")
-#define dsb(opt) asm volatile("dsb " #opt : : : "memory")
+#define io_uring_dmb(opt) asm volatile("dmb " #opt : : : "memory")
+#define io_uring_dsb(opt) asm volatile("dsb " #opt : : : "memory")
-#define mb() dsb(sy)
-#define rmb() dsb(ld)
-#define wmb() dsb(st)
-#define smp_mb() dmb(ish)
-#define smp_rmb() dmb(ishld)
-#define smp_wmb() dmb(ishst)
+#define io_uring_mb() io_uring_dsb(sy)
+#define io_uring_rmb() io_uring_dsb(ld)
+#define io_uring_wmb() io_uring_dsb(st)
+#define io_uring_smp_mb() io_uring_dmb(ish)
+#define io_uring_smp_rmb() io_uring_dmb(ishld)
+#define io_uring_smp_wmb() io_uring_dmb(ishst)
#else /* defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) */
/*
@@ -83,19 +83,19 @@ do { \
/* From tools/include/asm/barrier.h */
#ifndef io_uring_smp_store_release
-# define io_uring_smp_store_release(p, v) \
+#define io_uring_smp_store_release(p, v) \
do { \
io_uring_smp_mb(); \
- WRITE_ONCE(*p, v); \
+ IO_URING_WRITE_ONCE(*p, v); \
} while (0)
#endif
#ifndef io_uring_smp_load_acquire
-# define io_uring_smp_load_acquire(p) \
-({ \
- __typeof(*p) ___p1 = READ_ONCE(*p); \
- io_uring_smp_mb(); \
- ___p1; \
+#define io_uring_smp_load_acquire(p) \
+({ \
+ __typeof(*p) ___p1 = IO_URING_READ_ONCE(*p); \
+ io_uring_smp_mb(); \
+ ___p1; \
})
#endif
--
2.21.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] liburing/barrier.h: Add prefix to arm barriers
2019-08-20 12:42 [PATCH] liburing/barrier.h: Add prefix to arm barriers Julia Suvorova
@ 2019-08-20 13:46 ` Jens Axboe
0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2019-08-20 13:46 UTC (permalink / raw)
To: Julia Suvorova; +Cc: linux-block, Stefan Hajnoczi, Aarushi Mehta
On 8/20/19 6:42 AM, Julia Suvorova wrote:
> Rename the newly added arm barriers and READ/WRITE_ONCE
> to avoid using popular names.
Applied, thanks. I missed this when I applied yours.
--
Jens Axboe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-20 13:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-20 12:42 [PATCH] liburing/barrier.h: Add prefix to arm barriers Julia Suvorova
2019-08-20 13:46 ` Jens Axboe
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.