All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] eal/arm64: modify I/O device memory barriers
@ 2017-12-27  4:28 Yongseok Koh
  2017-12-27  4:28 ` [PATCH 2/2] net/mlx5: fix synchonization on polling Rx completions Yongseok Koh
                   ` (3 more replies)
  0 siblings, 4 replies; 49+ messages in thread
From: Yongseok Koh @ 2017-12-27  4:28 UTC (permalink / raw)
  To: adrien.mazarguil, nelio.laranjeiro, jerin.jacob, jianbo.liu
  Cc: dev, Yongseok Koh, Thomas Speier

Instead of using system-wide 'dsb' instruction for IO barriers, 'dmb' is
sufficient and could bring better performance. Using 'dmb' with Outer
Shareable Domain option is also consistent with linux kernel.

Cc: Thomas Speier <tspeier@qti.qualcomm.com>

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Thomas Speier <tspeier@qti.qualcomm.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
index 0b70d6209..8dcce6054 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
@@ -58,11 +58,11 @@ extern "C" {
 
 #define rte_smp_rmb() dmb(ishld)
 
-#define rte_io_mb() rte_mb()
+#define rte_io_mb() dmb(osh)
 
-#define rte_io_wmb() rte_wmb()
+#define rte_io_wmb() dmb(oshst)
 
-#define rte_io_rmb() rte_rmb()
+#define rte_io_rmb() dmb(oshld)
 
 #ifdef __cplusplus
 }
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2018-01-28  7:33 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-27  4:28 [PATCH 1/2] eal/arm64: modify I/O device memory barriers Yongseok Koh
2017-12-27  4:28 ` [PATCH 2/2] net/mlx5: fix synchonization on polling Rx completions Yongseok Koh
2018-01-04 12:58 ` [PATCH 1/2] eal/arm64: modify I/O device memory barriers Jerin Jacob
2018-01-08  1:55 ` Jianbo Liu
2018-01-16  0:42   ` Yongseok Koh
2018-01-16  1:10 ` [PATCH v2 0/8] introduce DMA " Yongseok Koh
2018-01-16  1:10   ` [PATCH v2 1/8] eal: " Yongseok Koh
2018-01-16  2:47     ` Jianbo Liu
2018-01-16  7:49     ` Andrew Rybchenko
2018-01-16  9:10       ` Jianbo Liu
2018-01-17 13:46         ` Thomas Monjalon
2018-01-17 18:39           ` Yongseok Koh
2018-01-18 11:56             ` Andrew Rybchenko
2018-01-18 18:14               ` Yongseok Koh
2018-01-16  1:10   ` [PATCH v2 2/8] eal/x86: define " Yongseok Koh
2018-01-16  1:10   ` [PATCH v2 3/8] eal/ppc64: define DMA device " Yongseok Koh
2018-01-16  1:10   ` [PATCH v2 4/8] eal/armv7: define DMA " Yongseok Koh
2018-01-16  2:48     ` Jianbo Liu
2018-01-16  1:10   ` [PATCH v2 5/8] eal/arm64: " Yongseok Koh
2018-01-16  2:50     ` Jianbo Liu
2018-01-16  1:10   ` [PATCH v2 6/8] net/mlx5: remove unnecessary memory barrier Yongseok Koh
2018-01-16  1:10   ` [PATCH v2 7/8] net/mlx5: replace IO memory barrier with DMA " Yongseok Koh
2018-01-16  1:10   ` [PATCH v2 8/8] net/mlx5: fix synchonization on polling Rx completions Yongseok Koh
2018-01-16  3:53     ` Jianbo Liu
2018-01-19  0:44   ` [PATCH v3 0/8] introduce DMA memory barriers Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 1/8] eal: " Yongseok Koh
2018-01-19  7:16       ` Andrew Rybchenko
2018-01-22 18:29         ` Yongseok Koh
2018-01-22 20:59           ` Thomas Monjalon
2018-01-23  4:35           ` Jerin Jacob
2018-01-25 19:08             ` Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 2/8] eal/x86: define " Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 3/8] eal/ppc64: " Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 4/8] eal/armv7: " Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 5/8] eal/arm64: " Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 6/8] net/mlx5: remove unnecessary memory barrier Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 7/8] net/mlx5: replace IO memory barrier with DMA " Yongseok Koh
2018-01-19  0:44     ` [PATCH v3 8/8] net/mlx5: fix synchonization on polling Rx completions Yongseok Koh
2018-01-25 21:02     ` [PATCH v4 0/9] introduce coherent I/O memory barriers Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 1/9] eal: add Doxygen grouping for " Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 2/9] eal: introduce coherent I/O " Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 3/9] eal/x86: define " Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 4/9] eal/ppc64: " Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 5/9] eal/armv7: " Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 6/9] eal/arm64: " Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 7/9] net/mlx5: remove unnecessary memory barrier Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 8/9] net/mlx5: replace I/O memory barrier with coherent version Yongseok Koh
2018-01-25 21:02       ` [PATCH v4 9/9] net/mlx5: fix synchronization on polling Rx completions Yongseok Koh
2018-01-28  7:32       ` [PATCH v4 0/9] introduce coherent I/O memory barriers Thomas Monjalon

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.