linux/drivers/net/ethernet
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
..
3com drivers/net: Use setup_timer and mod_timer 2015-02-11 19:40:12 -08:00
8390 net: 8390: axnet_cs: Use setup_timer and mod_timer 2015-03-01 13:40:23 -05:00
adaptec
adi ptp: blackfin: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
aeroflex net: greth: constify of_device_id array 2015-03-17 15:00:22 -04:00
agere et131x: use msecs_to_jiffies for conversions 2015-02-11 19:37:43 -08:00
allwinner ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
alteon
altera Altera TSE: constify of_device_id array 2015-03-17 15:00:21 -04:00
amd ptp: xgbe: convert to the 64 bit get/set time methods. 2015-03-31 12:01:16 -04:00
apm drivers: net: xgene: Add separate tx completion ring 2015-03-27 14:18:48 -07:00
apple net: ethernet: apple: constify of_device_id array 2015-03-17 15:00:22 -04:00
arc
atheros ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
brocade ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
cadence net/macb: unify peripheral version testing 2015-03-31 16:51:17 -04:00
calxeda ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
chelsio cxgb3/4/4vf: Update drivers to use dma_rmb/wmb where appropriate 2015-04-09 14:25:25 -04:00
cirrus ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
cisco Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
davicom
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-20 18:51:09 -04:00
dlink
emulex be2net: bump up the driver version to 10.6.0.1 2015-03-29 12:34:01 -07:00
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
fujitsu
hisilicon net: hip04: add missing MODULE_LICENSE 2015-02-02 18:51:03 -08:00
hp
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-20 18:51:09 -04:00
icplus
intel e1000, e1000e: Use dma_rmb instead of rmb for descriptor read ordering 2015-04-08 12:15:14 -04:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-06 22:34:15 -04:00
mellanox mlx4/mlx5: Use dma_wmb/rmb where appropriate 2015-04-09 14:25:25 -04:00
micrel ethernet: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
microchip
moxa ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
myricom myri10ge: Delete an unnecessary check before the function call "kfree" 2015-02-05 00:25:10 -08:00
natsemi
neterion s2io: Update driver to use dma_wmb 2015-04-08 12:15:14 -04:00
nuvoton
nvidia
nxp
octeon netdev: octeon_mgmt: constify of_device_id array 2015-03-17 15:00:22 -04:00
oki-semi ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
packetengines ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
pasemi net: pasemi: Use setup_timer and mod_timer 2015-03-01 13:40:23 -05:00
qlogic net: Move check for multiple vlans to drivers 2015-03-29 13:33:22 -07:00
qualcomm ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
rdc
realtek r8169: Fix trivial typo in rtl_check_firmware 2015-02-24 16:26:07 -05:00
renesas sh_eth: Mitigate lost statistics updates 2015-03-04 15:40:54 -05:00
rocker Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
samsung ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
seeq
sfc sfc: Revert SRIOV changes. 2015-04-08 16:30:01 -04:00
sgi
silan
sis
smsc net: smc91x: Remove an unused variable 2015-03-31 16:41:12 -04:00
stmicro stmmac: Add an optional register interface clock 2015-04-08 14:58:15 -04:00
sun sungem, sunhme, sunvnet: Update drivers to use dma_wmb/rmb 2015-04-08 12:15:14 -04:00
tehuti
ti ptp: cpts: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
tile ptp: tilegx: convert to the 64 bit get/set time methods. 2015-03-31 12:01:18 -04:00
toshiba ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
tundra
via via-velocity: constify of_device_id array 2015-03-17 15:00:24 -04:00
wiznet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-20 18:51:09 -04:00
xilinx ethernet: Use bool function returns of true/false instead of 1/0 2015-03-31 14:09:49 -04:00
xircom
xscale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethoc: constify of_device_id array 2015-03-17 15:00:21 -04:00
fealnx.c
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c