linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
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
..
alloc.c net: Mellanox: Delete unnecessary checks before the function call "vunmap" 2015-02-09 14:10:05 -08:00
catas.c net/mlx4_core: Enable device recovery flow with SRIOV 2015-01-25 14:43:14 -08:00
cmd.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-06 22:34:15 -04:00
cq.c net/mlx4_core: Use tasklet for user-space CQ completion events 2014-12-11 14:47:34 -05:00
en_clock.c ptp: mlx4: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
en_cq.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
en_dcb_nl.c net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
en_ethtool.c net/mlx4_en: Add interface identify support 2015-04-02 16:25:03 -04:00
en_main.c net/mlx4_en: Change loopback only upon feature change 2015-04-02 16:24:51 -04:00
en_netdev.c net/mlx4_en: Add RX-ALL support 2015-04-02 16:25:04 -04:00
en_port.c net/mlx4_en: Moderate ethtool callback to show more statistics 2015-03-31 16:36:51 -04:00
en_port.h net/mlx4_en: Use PTYS register to query ethtool settings 2014-10-28 17:18:00 -04:00
en_resources.c net/mlx4_core: Port aggregation upper layer interface 2015-02-04 16:14:24 -08:00
en_rx.c mlx4/mlx5: Use dma_wmb/rmb where appropriate 2015-04-09 14:25:25 -04:00
en_selftest.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
en_tx.c mlx4/mlx5: Use dma_wmb/rmb where appropriate 2015-04-09 14:25:25 -04:00
eq.c mlx4/mlx5: Use dma_wmb/rmb where appropriate 2015-04-09 14:25:25 -04:00
fw_qos.c net/mlx4: Add mlx4_SET_VPORT_QOS implementation 2015-04-02 16:25:02 -04:00
fw_qos.h net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
fw.c net/mlx4_en: Add RX-ALL support 2015-04-02 16:25:04 -04:00
fw.h net/mlx4: Add RSS support for fragmented IP datagrams 2015-04-02 16:24:50 -04:00
icm.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
icm.h mlx4_core: Fix GFP flags parameters to be gfp_t 2014-06-04 10:19:13 -07:00
intf.c net/mlx4_core: Port aggregation upper layer interface 2015-02-04 16:14:24 -08:00
Kconfig net/mlx4: Set proper build dependancy with vxlan 2014-04-01 16:25:51 -04:00
main.c net/mlx4_en: Add RX-ALL support 2015-04-02 16:25:04 -04:00
Makefile net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
mcg.c net/mlx4_core: Reset flow activation upon SRIOV fatal command cases 2015-01-25 14:43:15 -08:00
mlx4_en.h net/mlx4_en: Add interface identify support 2015-04-02 16:25:03 -04:00
mlx4_stats.h net/mlx4_en: Moderate ethtool callback to show more statistics 2015-03-31 16:36:51 -04:00
mlx4.h net/mlx4_en: Add RX-ALL support 2015-04-02 16:25:04 -04:00
mr.c net/mlx4_core: Fix mpt_entry initialization in mlx4_mr_rereg_mem_write() 2015-02-04 16:17:45 -08:00
pd.c net/mlx4_core: Remove duplicate code line from procedure mlx4_bf_alloc 2015-01-27 17:12:57 -08:00
port.c net/mlx4_en: Add RX-ALL support 2015-04-02 16:25:04 -04:00
profile.c net/mlx4_core: Flexible (asymmetric) allocation of EQs and MSI-X vectors for PF/VFs 2014-11-13 15:16:21 -05:00
qp.c net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
reset.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
resource_tracker.c net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
sense.c Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
srq.c IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO 2014-06-02 14:58:11 -07:00