linux_dsm_epyc7002/drivers/net
Benjamin Poirier 4aea7a5c5e e1000e: Avoid receiver overrun interrupt bursts
When e1000e_poll() is not fast enough to keep up with incoming traffic, the
adapter (when operating in msix mode) raises the Other interrupt to signal
Receiver Overrun.

This is a double problem because 1) at the moment e1000_msix_other()
assumes that it is only called in case of Link Status Change and 2) if the
condition persists, the interrupt is repeatedly raised again in quick
succession.

Ideally we would configure the Other interrupt to not be raised in case of
receiver overrun but this doesn't seem possible on this adapter. Instead,
we handle the first part of the problem by reverting to the practice of
reading ICR in the other interrupt handler, like before commit 16ecba59bc
("e1000e: Do not read ICR in Other interrupt"). Thanks to commit
0a8047ac68 ("e1000e: Fix msi-x interrupt automask") which cleared IAME
from CTRL_EXT, reading ICR doesn't interfere with RxQ0, TxQ0 interrupts
anymore. We handle the second part of the problem by not re-enabling the
Other interrupt right away when there is overrun. Instead, we wait until
traffic subsides, napi polling mode is exited and interrupts are
re-enabled.

Reported-by: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Fixes: 16ecba59bc ("e1000e: Do not read ICR in Other interrupt")
Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-10-10 08:59:22 -07:00
..
appletalk drivers: net: appletalk: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
arcnet drivers: net: arcnet: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
bonding net: bonding: Add extack messages for some enslave failures 2017-10-04 21:39:34 -07:00
caif drivers: net: caif: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
can drivers: net: can: sja1000: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
cris
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
ethernet e1000e: Avoid receiver overrun interrupt bursts 2017-10-10 08:59:22 -07:00
fddi
fjes
hamradio mkiss: remove redundant check on len being zero 2017-09-30 05:44:28 +01:00
hippi drivers: net: hippi: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
hyperv hv_netvsc: Add ethtool handler to set and get TCP hash levels 2017-10-08 10:11:01 -07:00
ieee802154 ieee802154: atusb: Driver for Busware HUL dongle 2017-09-20 13:37:16 +02:00
ipvlan net: Add extack to upper device linking 2017-10-04 21:39:33 -07:00
phy Add a driver for Renesas uPD60620 and uPD60620A PHYs 2017-10-09 20:49:36 -07:00
plip
ppp ppp: fix race in ppp device destruction 2017-10-06 10:16:34 -07:00
slip drivers: net: slip: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
team net: Add extack to upper device linking 2017-10-04 21:39:33 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-09 20:11:09 -07:00
vmxnet3
wan net: wan : hdlc: use setup_timer() helper 2017-09-21 15:48:46 -07:00
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
xen-netback drivers: net: xen-netback: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
dummy.c net: remove MTU limits for dummy and ifb device 2017-09-25 16:26:09 -07:00
eql.c drivers: net: eql: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
geneve.c
gtp.c
ifb.c net: remove MTU limits for dummy and ifb device 2017-09-25 16:26:09 -07:00
Kconfig net: Add support for networking over Thunderbolt cable 2017-10-02 11:24:42 -07:00
LICENSE.SRC
loopback.c
macsec.c net: Add extack to upper device linking 2017-10-04 21:39:33 -07:00
macvlan.c net: Add extack to upper device linking 2017-10-04 21:39:33 -07:00
macvtap.c net: Add extack to upper device linking 2017-10-04 21:39:33 -07:00
Makefile net: Add support for networking over Thunderbolt cable 2017-10-02 11:24:42 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c net: Add support for networking over Thunderbolt cable 2017-10-02 11:24:42 -07:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
veth.c
virtio_net. virtio-net: support XDP_REDIRECT 2017-09-20 14:27:52 -07:00
virtio_net.c bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
vrf.c net: vrf: Add extack messages for enslave errors 2017-10-04 21:39:33 -07:00
vsockmon.c
vxlan.c
xen-netfront.c xen-netfront: be more drop monitor friendly 2017-08-30 15:56:16 -07:00