linux_dsm_epyc7002/drivers/net/ethernet
Jesse Brandeburg c56625d597 i40e/i40evf: change dynamic interrupt thresholds
The dynamic algorithm, while now working, doesn't have good
performance in 40G mode.

One part of this patch addresses the high CPU utilization of some small
streaming workloads that the driver should reduce CPU in.

It also changes the minimum ITR that the dynamic algorithm
will settle on, causing our minimum latency to go from 12us
to about 14us, when using adaptive mode.

It also changes the BULK interrupt rate to allow maximum throughput
on a 40Gb connection with a single thread of transmit, clamping
interrupt rate to 8000 for TX makes single thread traffic go too
slow.

The new ULTRA bulk setting is introduced and is used
when the Rx packet rate on this queue exceeds 40000 packets per
second.  This value of 40000 was chosen because the automatic tuning
of minimum ITR=20us means that a single queue can't quite achieve
that many packets per second from a round-robin test.

Change-ID: Icce8faa128688ca5fd2c4229bdd9726877a92ea2
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-10-19 15:35:04 -07: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: Claim emac sram 2015-08-25 13:48:59 -07:00
alteon
altera net: eth: altera: Fix the initial device operstate 2015-09-09 12:10:15 -07:00
amd drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-09-26 16:08:27 -07: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 drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07: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 drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
chelsio cxgb4: Enhance driver to update FW, when FW is too old 2015-10-11 04:57:58 -07:00
cirrus
cisco enic: do hang reset only in case of tx timeout 2015-10-05 03:51:35 -07: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
emulex drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ezchip NET: nps_enet: minor namespace cleanup 2015-08-23 16:08:54 -07:00
faraday
freescale drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
fujitsu
hisilicon net: hix5hd2_gmac: avoid integer overload warning 2015-10-18 20:01:08 -07:00
hp
i825xx
ibm drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
icplus
intel i40e/i40evf: change dynamic interrupt thresholds 2015-10-19 15:35:04 -07:00
marvell drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
mellanox mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00
micrel net: ks8851: Export OF module alias information 2015-09-17 21:24:02 -07:00
microchip net: encx24j600: Fix typos in Kconfig 2015-10-11 05:26:10 -07: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
nxp
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 drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
qualcomm
rdc
realtek drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
renesas ravb: Add support for r8a7795 SoC 2015-10-03 05:05:21 -07:00
rocker rocker: remove nowait from switchdev callbacks. 2015-10-15 06:09:51 -07:00
samsung
seeq
sfc sfc: fully reset if MC_REBOOT event received without warm_boot_count increment 2015-10-12 05:35:25 -07:00
sgi
silan
sis
smsc net: smc91x: convert pxa dma to dmaengine 2015-09-17 13:36:52 -07:00
stmicro net: stmmac: avoid using timespec 2015-10-05 03:16:41 -07:00
sun drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
synopsys ethernet: synopsys: SYNOPSYS_DWC_ETH_QOS should depend on HAS_DMA 2015-09-06 19:48:53 -07:00
tehuti drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ti drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
tile nohz: Prevent tilegx network driver interrupts 2015-07-29 15:44:59 +02:00
toshiba
tundra
via net: via/Kconfig: GENERIC_PCI_IOMAP required if PCI not selected 2015-09-25 12:36:58 -07: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 dwc_eth_qos: Add the synopsys folder to the build system. 2015-07-28 23:55:00 -07:00
korina.c
lantiq_etop.c
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-08-27 21:45:31 -07:00
netx-eth.c