linux_dsm_epyc7002/drivers/net/ethernet
Jacob Keller 0a2c7722be i40e/i40evf: remove ULTRA latency mode
Since commit c56625d597 ("i40e/i40evf: change dynamic interrupt
thresholds") a new higher latency ITR setting called I40E_ULTRA_LATENCY
was added with a cryptic comment about how it was meant for adjusting Rx
more aggressively when streaming small packets.

This mode was attempting to calculate packets per second and then kick
in when we have a huge number of small packets.

Unfortunately, the ULTRA setting was kicking in for workloads it wasn't
intended for including single-thread UDP_STREAM workloads.

This wasn't caught for a variety of reasons. First, the ip_defrag
routines were improved somewhat which makes the UDP_STREAM test still
reasonable at 10GbE, even when dropped down to 8k interrupts a second.
Additionally, some other obvious workloads appear to work fine, such
as TCP_STREAM.

The number 40k doesn't make sense for a number of reasons. First, we
absolutely can do more than 40k packets per second. Second, we calculate
the value inline in an integer, which sometimes can overflow resulting
in using incorrect values.

If we fix this overflow it makes it even more likely that we'll enter
ULTRA mode which is the opposite of what we want.

The ULTRA mode was added originally as a way to reduce CPU utilization
during a small packet workload where we weren't keeping up anyways. It
should never have been kicking in during these other workloads.

Given the issues outlined above, let's remove the ULTRA latency mode. If
necessary, a better solution to the CPU utilization issue for small
packet workloads will be added in a future patch.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-08-27 16:12:15 -07:00
..
3com net: 3c59x: constify eisa_device_id 2017-08-19 17:13:41 -07:00
8390 net: ethernet: ax88796: make mdiobb_ops const 2017-08-22 14:20:54 -07:00
adaptec
adi net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon
amd net: amd: constify zorro_device_id 2017-08-22 14:35:36 -07:00
apm xgene: Always get clk source, but ignore if it's missing for SGMII ports 2017-08-04 11:30:37 -07:00
apple
aquantia aquantia: Switch to use napi_gro_receive 2017-08-04 20:57:13 -07:00
arc net: arc_emac: Add support for ndo_do_ioctl net_device_ops operation 2017-08-03 15:14:34 -07:00
atheros
aurora
broadcom tg3: Be drop monitor friendly 2017-08-24 18:52:32 -07:00
brocade
cadence net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
calxeda
cavium net: define the TSO header size in net/tso.h 2017-08-23 20:42:09 -07:00
chelsio cxgb4/cxgbvf: Handle 32-bit fw port capabilities 2017-08-20 19:51:18 -07:00
cirrus
cisco
davicom
dec net: de4x5: constify eisa_device_id 2017-08-19 17:13:41 -07:00
dlink
emulex
ezchip
faraday
freescale net: define the TSO header size in net/tso.h 2017-08-23 20:42:09 -07:00
fujitsu
hisilicon net: hns3: Add support to change MTU in HNS3 hardware 2017-08-22 11:02:21 -07:00
hp net: hp100: constify eisa_device_id 2017-08-19 17:13:41 -07:00
huawei hinic: skb_pad() frees on error 2017-08-25 17:13:04 -07:00
i825xx
ibm net: ibm: emac: Fix some error handling path in 'emac_probe()' 2017-08-20 19:53:08 -07:00
intel i40e/i40evf: remove ULTRA latency mode 2017-08-27 16:12:15 -07:00
marvell net: mvpp2: fix the packet size configuration for 10G 2017-08-25 20:10:42 -07:00
mediatek net-next: mediatek: bring up QDMA RX ring 0 2017-08-09 22:45:36 -07:00
mellanox mlx5-updates-2017-08-24 2017-08-24 21:49:56 -07:00
micrel
microchip
moxa net: moxa: Add spaces preferred around that '{+,-}' 2017-07-29 14:02:07 -07:00
myricom
natsemi
neterion
netronome nfp: add basic SR-IOV ndo functions to representors 2017-08-25 19:24:58 -07:00
nuvoton
nvidia forcedeth: replace init_timer_deferrable with setup_deferrable_timer 2017-08-11 14:25:35 -07:00
nxp
oki-semi
packetengines
pasemi
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-21 17:06:42 -07:00
qualcomm
rdc
realtek
renesas net: sh_eth: constify platform_device_id 2017-08-13 20:12:23 -07:00
rocker rocker: Ignore address families other than IPv4 2017-08-03 15:35:59 -07:00
samsung
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-15 20:23:23 -07:00
sgi
silan
sis
smsc
stmicro net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
synopsys
tehuti
ti net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
tile net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
toshiba net: tc35815: fix spelling mistake: "Intterrupt" -> "Interrupt" 2017-07-29 15:22:08 -07:00
tundra
via
wiznet
xilinx
xircom ethernet: xircom: small clean up in setup_xirc2ps_cs() 2017-08-22 10:30:00 -07:00
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig net-next/hinic: Initialize hw interface 2017-08-22 10:48:52 -07:00
korina.c
lantiq_etop.c
Makefile net-next/hinic: Initialize hw interface 2017-08-22 10:48:52 -07:00
netx-eth.c