linux/drivers/net/ethernet/mellanox/mlx5/core
Alexander Duyck 12b3375f39 mlx4/mlx5: Use dma_wmb/rmb where appropriate
This patch should help to improve the performance of the mlx4 and mlx5 on a
number of architectures.  For example, on x86 the dma_wmb/rmb equates out
to a barrer() call as the architecture is already strong ordered, and on
PowerPC the call works out to a lwsync which is significantly less expensive
than the sync call that was being used for wmb.

I placed the new barriers between any spots that seemed to be trying to
order memory/memory reads or writes, if there are any spots that involved
MMIO I left the existing wmb in place as the new barriers cannot order
transactions between coherent and non-coherent memories.

v2: Reduced the replacments to just the spots where I could clearly
    identify the usage pattern.

Cc: Amir Vadai <amirv@mellanox.com>
Cc: Ido Shamay <idos@mellanox.com>
Cc: Eli Cohen <eli@mellanox.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-04-09 14:25:25 -04:00
..
Kconfig IB/mlx5: Remove dependency on X86 2014-02-13 20:48:02 -08:00
Makefile
alloc.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
cmd.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
cq.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
debugfs.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
eq.c mlx4/mlx5: Use dma_wmb/rmb where appropriate 2015-04-09 14:25:25 -04:00
fw.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
health.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
mad.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
main.c net/mlx5_core: Extend struct mlx5_interface to support multiple protocols 2015-04-02 16:33:43 -04:00
mcg.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
mlx5_core.h net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
mr.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
pagealloc.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
pd.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
port.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
qp.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
srq.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
uar.c net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00