This patchset is to introduce coherent I/O memory barriers, which could be more efficient for coherent memory between I/O device and CPU, especially for ARMv8.
v4: * rename barriers to "coherent I/O memory barrier". * Make groups for various barriers in Doxygen doc. v3: * add more detailed comments about the new memory barriers. v2: * introduce DMA memory barriers. Yongseok Koh (9): eal: add Doxygen grouping for memory barriers eal: introduce coherent I/O memory barriers eal/x86: define coherent I/O memory barriers eal/ppc64: define coherent I/O memory barriers eal/armv7: define coherent I/O memory barriers eal/arm64: define coherent I/O memory barriers net/mlx5: remove unnecessary memory barrier net/mlx5: replace I/O memory barrier with coherent version net/mlx5: fix synchronization on polling Rx completions drivers/net/mlx5/mlx5_rxq.c | 1 - drivers/net/mlx5/mlx5_rxtx.c | 5 +- drivers/net/mlx5/mlx5_rxtx.h | 2 +- drivers/net/mlx5/mlx5_rxtx_vec.h | 2 +- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 53 ++++++++++++---------- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 2 +- .../common/include/arch/arm/rte_atomic_32.h | 4 ++ .../common/include/arch/arm/rte_atomic_64.h | 4 ++ .../common/include/arch/ppc_64/rte_atomic.h | 4 ++ .../common/include/arch/x86/rte_atomic.h | 4 ++ lib/librte_eal/common/include/generic/rte_atomic.h | 51 +++++++++++++++++++++ 11 files changed, 103 insertions(+), 29 deletions(-) -- 2.11.0