|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XENVBD PATCH 2/3] Reduce the strength of Xen barriers on x86
x86 is TSO and only needs a compiler barrier as read/write barriers.
Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
include/xen-types.h | 9 +++++++++
src/xenvbd/ring.c | 3 ---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/xen-types.h b/include/xen-types.h
index 40f7c27..0f53af3 100644
--- a/include/xen-types.h
+++ b/include/xen-types.h
@@ -47,4 +47,13 @@ typedef USHORT uint16_t;
typedef ULONG uint32_t;
typedef ULONG64 uint64_t;
+#define xen_mb() KeMemoryBarrier()
+#if defined(_M_IX86) || defined(_M_X64)
+#define xen_wmb() KeMemoryBarrierWithoutFence()
+#define xen_rmb() KeMemoryBarrierWithoutFence()
+#else
+#define xen_wmb() KeMemoryBarrier()
+#define xen_rmb() KeMemoryBarrier()
+#endif
+
#endif // _XEN_TYPES_H
diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
index 5a8f236..205e93a 100644
--- a/src/xenvbd/ring.c
+++ b/src/xenvbd/ring.c
@@ -57,9 +57,6 @@
#define XENVBD_MAX_RING_PAGE_ORDER (4)
#define XENVBD_MAX_RING_PAGES (1 << XENVBD_MAX_RING_PAGE_ORDER)
-#define xen_mb KeMemoryBarrier
-#define xen_wmb KeMemoryBarrier
-
typedef struct _XENVBD_BLKIF_RING {
PXENVBD_RING Ring;
ULONG Index;
--
2.54.0.windows.1
--
Ngoc Tu Dinh | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |