linux/drivers/net/ethernet
Eric Dumazet 868fdb0606 mlx4: remove mlx4_en_low_latency_recv()
Busy polling can now be handled in generic NAPI poll infrastructure.
This removes complexity and fast path overhead :

mlx4 used two spin_lock()/spin_unlock() pair per napi->poll() call
in mlx4_en_cq_lock_napi()/mlx4_en_cq_unlock_napi()

Tested:

Without busy polling :

lpaa23:~# echo 0 >/proc/sys/net/core/busy_read
lpaa24:~# echo 0 >/proc/sys/net/core/busy_read
lpaa23:~# ./netperf -H lpaa24 -t TCP_RR
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to lpaa24.prod.google.com () port 0 AF_INET : first burst 0
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec

16384  87380  1        1       10.00    47330.78

With busy polling :

lpaa23:~# echo 70 >/proc/sys/net/core/busy_read
lpaa24:~# echo 70 >/proc/sys/net/core/busy_read
lpaa23:~# ./netperf -H lpaa24 -t TCP_RR
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to lpaa24.prod.google.com () port 0 AF_INET : first burst 0
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec

16384  87380  1        1       10.00    97643.55

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-11-18 16:17:40 -05:00
..
3com 3c59x: Add BQL support for 3c59x ethernet driver. 2015-08-24 12:20:58 -07:00
8390 net: mac8390: Allow modular build 2015-09-29 21:11:12 -07:00
adaptec
adi
aeroflex drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
agere
allwinner net: sun4i-emac: Properly free resources on probe failure and remove 2015-10-21 19:47:45 -07:00
alteon
altera net: eth: altera: Fix the initial device operstate 2015-09-09 12:10:15 -07:00
amd More power management and ACPI updates for v4.4-rc1 2015-11-12 11:50:33 -08:00
apm drivers: net: xgene: fix RGMII 10/100Mb mode 2015-11-08 21:00:20 -05:00
apple net: macmace: Allow modular build 2015-09-29 21:11:13 -07:00
arc net: arc: Fix module autoload for OF platform driver 2015-09-21 16:08:20 -07:00
atheros drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
broadcom bnx2x: remove bnx2x_low_latency_recv() support 2015-11-18 16:17:40 -05:00
brocade bna: fix error handling 2015-09-29 13:49:53 -07:00
cadence Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-07-31 23:52:20 -07:00
calxeda
cavium net: thunder: Check for driver data in nicvf_remove() 2015-11-16 16:24:44 -05:00
chelsio Initial 4.4 merge window submission 2015-11-07 13:33:07 -08:00
cirrus
cisco enic: assign affinity hint to interrupts 2015-11-02 15:08:00 -05:00
davicom dm9000: fix a typo 2015-09-08 22:44:42 -07:00
dec drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
dlink dl2k: Add support for IP1000A-based cards 2015-11-16 17:11:31 -05:00
emulex be2net: remove local variable 'status' 2015-11-18 15:21:41 -05:00
ezchip NET: nps_enet: minor namespace cleanup 2015-08-23 16:08:54 -07:00
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-03 13:41:45 -05:00
fujitsu
hisilicon net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA 2015-11-09 11:19:29 -05:00
hp
i825xx
ibm drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
intel asm-generic cleanups 2015-11-06 14:22:15 -08:00
marvell net: mvneta: Fix memory use after free. 2015-11-09 21:48:14 -05:00
mellanox mlx4: remove mlx4_en_low_latency_recv() 2015-11-18 16:17:40 -05:00
micrel Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
microchip spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
moxa net: moxa: Fix module autoload for OF platform driver 2015-09-21 16:09:02 -07:00
myricom
natsemi
neterion drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
nuvoton
nvidia forcedeth: fix unilateral interrupt disabling in netpoll path 2015-10-27 19:45:23 -07:00
nxp net: lpc_eth: fix warnings caused by enabling unprepared clock 2015-10-05 03:41:12 -07:00
octeon drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
oki-semi drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
packetengines
pasemi
qlogic qed: select ZLIB_INFLATE 2015-11-10 15:39:03 -05:00
qualcomm spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rdc
realtek r8169: fix kasan reported skb use-after-free. 2015-11-12 13:51:01 -05:00
renesas ravb: remove unhandle int cause 2015-11-16 15:12:25 -05:00
rocker asm-generic cleanups 2015-11-06 14:22:15 -08:00
samsung
seeq
sfc sfc: constify pci_error_handlers structures 2015-11-16 15:07:29 -05:00
sgi
silan
sis
smsc net: smsc911x: Reset PHY during initialization 2015-11-16 14:43:14 -05:00
stmicro stmmac: avoid ipq806x constant overflow warning 2015-11-12 16:11:49 -05:00
sun drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
synopsys dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" 2015-11-07 13:17:32 -05:00
tehuti drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-10 18:11:41 -08:00
tile nohz: Prevent tilegx network driver interrupts 2015-07-29 15:44:59 +02:00
toshiba
tundra
via via-velocity: unconditionally drop frames with bad l2 length 2015-11-17 14:37:16 -05:00
wiznet
xilinx drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c net/ethoc: support big-endian register layout 2015-09-23 15:33:15 -07:00
fealnx.c
jme.c net: jme: use kzalloc() instead of kmalloc+memset 2015-09-09 17:06:00 -07:00
jme.h
Kconfig ipg: Remove ipg driver 2015-11-16 17:11:31 -05:00
korina.c
lantiq_etop.c
Makefile ipg: Remove ipg driver 2015-11-16 17:11:31 -05:00
netx-eth.c