linux/drivers/net/ethernet
Tariq Toukan 9908aa2929 net/mlx5e: CQE based moderation
In this mode the moderation timer will restart upon
new completion (CQE) generation rather than upon interrupt
generation.

The outcome is that for bursty traffic the period timer will never
expire and thus only the moderation frames counter will dictate
interrupt generation, thus the interrupt rate will be relative
to the incoming packets size.
If the burst seizes for "moderation period" time then an interrupt
will be issued immediately.

CQE based moderation is off by default and can be controlled
via ethtool set_priv_flags.

Performance tested on ConnectX4-Lx 50G.

Less packet loss in netperf UDP and TCP tests, with no bw degradation,
for both single and multi streams, with message sizes of
64, 1024, 1472 and 32768 byte.

Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Achiad Shochat <achiad@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Gal Pressman <galp@mellanox.com>
Signed-off-by: Gil Rockah <gilr@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-27 04:10:41 -04:00
..
3com
8390 net: ethernet: ax88796: use phy_ethtool_{get|set}_link_ksettings 2016-06-16 17:07:05 -07:00
adaptec
adi
aeroflex aeroflex/greth: fix warning about unused variable 2016-05-20 18:33:37 -07:00
agere net: ethernet: et131x: use phy_ethtool_{get|set}_link_ksettings 2016-06-17 22:30:59 -07:00
allwinner net: ethernet: sun4i-emac: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:22:41 -04:00
alteon
altera net: ethernet: altera_tse: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:22:41 -04:00
amd net: au1000 eth: simplify logical expression 2016-05-19 11:32:05 -07:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-15 13:32:48 -04:00
apple
arc net: arc: trivial: Replace comma with a semicolon 2016-05-25 22:13:15 -07:00
atheros net: alx: use custom skb allocator 2016-05-25 19:52:27 -04:00
aurora net: ethernet: nb8800: use phy_ethtool_{get|set}_link_ksettings 2016-06-19 10:55:16 -07:00
broadcom net: ethernet: bgmac: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:23:29 -04:00
brocade
cadence net: ethernet: macb: use phy_ethtool_{get|set}_link_ksettings 2016-06-25 11:57:33 -04:00
calxeda
cavium liquidio: ddr timeout 2016-06-25 12:08:29 -04:00
chelsio cxgb4vf: Synchronize access to mailbox 2016-06-25 12:04:33 -04:00
cirrus net: cx89x0: Add DT support 2016-06-15 12:17:57 -07:00
cisco net: ethernet: enic: move to new ethtool api {get|set}_link_ksettings 2016-06-14 17:16:14 -04:00
davicom drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00
dec
dlink
emulex be2net: Change copyright markings in source files 2016-06-27 04:06:24 -04:00
ezchip net: nps_enet: Disable interrupts before napi reschedule 2016-05-29 22:35:21 -07:00
faraday net: ethernet: ftgmac100: use phy_ethtool_{get|set}_link_ksettings 2016-05-16 21:51:41 -04:00
freescale net: fec: use a more proper compatible string for i.MX6UL type device 2016-06-27 04:01:48 -04:00
fujitsu
hisilicon net: hns: bug fix about TSO on|off when there is traffic 2016-06-21 04:51:56 -04:00
hp
i825xx
ibm net: ehea: avoid null pointer dereference 2016-05-19 11:25:30 -07:00
intel ixgbe: Replace ndo_add/del_vxlan_port with ndo_add/del_udp_enc_port 2016-06-17 20:23:30 -07:00
marvell net: mvneta: Fix lacking spinlock initialization 2016-05-25 12:35:08 -07:00
mediatek net-next: mediatek: properly handle RGMII modes 2016-06-03 19:54:16 -04:00
mellanox net/mlx5e: CQE based moderation 2016-06-27 04:10:41 -04:00
micrel drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00
microchip
moxa
myricom
natsemi
neterion
netronome nfp: Replace ndo_add/del_vxlan_port with ndo_add/del_udp_enc_port 2016-06-17 20:23:31 -07:00
nuvoton
nvidia
nxp
oki-semi
packetengines
pasemi
qlogic qede: Add support for coalescing config read/update. 2016-06-23 15:56:46 -04:00
qualcomm
rdc
realtek r8169: default to 64-bit DMA on recent PCIe chips 2016-05-17 14:31:09 -04:00
renesas ravb: Remove manual pause frame transmit 2016-06-01 23:33:21 -07:00
rocker switchdev: pass pointer to fib_info instead of copy 2016-05-17 13:58:49 -04:00
samsung
seeq
sfc sfc: Fix VLAN filtering feature if vPort has VLAN_RESTRICT flag 2016-06-15 22:26:27 -07:00
sgi
silan
sis
smsc
stmicro net: stmmac: dwmac-rk: add rk3228-specific data 2016-06-26 15:45:39 -04:00
sun
synopsys
tehuti
ti ti_cpsw: Check for disabled child nodes 2016-06-23 15:12:20 -04:00
tile
toshiba ps3_gelic: use kmemdup 2016-05-20 19:50:07 -04:00
tundra
via
wiznet net: ethernet: wiznet: Remove create_workqueue 2016-06-02 12:15:17 -07:00
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c net/ethoc: fix null dereference on error exit path 2016-06-01 22:02:01 -07:00
fealnx.c
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c net: lantiq_etop: remove unused variable 2016-06-17 20:54:35 -07:00
Makefile
netx-eth.c drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00