linux/drivers/net/ethernet
Alan Brady 04d4105174 i40e/i40evf: use SW variables for hang detection
The i40e_detect_recover_hung function uses the i40e_get_tx_pending
function to determine if there are packets stalled on the ring.
i40e_get_tx_pending calculates the pending packets using the head
writeback value and HW tail.  If the queue is stopped and we lose the
interrupt to update our next_to_clean then we a) won't get another
interrupt to clean because queue is stopped b) we won't catch the
problem with i40e_detect_recover_hung because the HW values look like
there's no packets waiting to be transmitted.  Using the SW values we
can catch the issue because next_to_clean will be out of sync with head
writeback.

This has the added benefit being less CPU intensive because we don't
need to reach into the hardware to get the values.

Signed-off-by: Alan Brady <alan.brady@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-02-26 12:33:27 -08:00
..
3com
8390 net/mac8390: Fix log messages 2018-02-21 14:14:05 -05:00
adaptec
adi
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon
amd amd-xgbe: Restore PCI interrupt enablement setting on resume 2018-02-21 15:39:54 -05:00
apm
apple
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-24 00:04:20 -05:00
arc
atheros
aurora
broadcom tg3: APE heartbeat changes 2018-02-19 14:16:52 -05:00
brocade
cadence net: macb: Handle HRESP error 2018-01-29 14:25:47 -05:00
calxeda
cavium Revert "net: thunderx: Add support for xdp redirect" 2018-02-14 14:23:39 -05:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-19 18:46:11 -05:00
cirrus m68k updates for 4.16 2018-01-29 16:37:15 -08:00
cisco
cortina net: gemini: Depend on HAS_IOMEM 2018-01-21 18:05:30 -05:00
davicom
dec
dlink
emulex be2net: Handle transmit completion errors in Lancer 2018-02-06 11:48:33 -05:00
ezchip
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-24 00:04:20 -05:00
fujitsu
hisilicon net: hns3: add int_gl_idx setup for VF 2018-01-26 10:58:30 -05:00
hp
huawei
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-24 00:04:20 -05:00
intel i40e/i40evf: use SW variables for hang detection 2018-02-26 12:33:27 -08:00
marvell mvpp2: fix multicast address filter 2018-02-11 22:37:04 -05:00
mediatek net: mediatek: Explicitly include pinctrl headers 2018-02-05 09:41:54 -08:00
mellanox mlxsw: spectrum_kvdl: avoid uninitialized variable warning 2018-02-26 11:33:02 -05:00
micrel
microchip
moxa
myricom
natsemi nubus: Add expansion_type values for various Mac models 2018-01-16 16:47:29 +01:00
neterion
netronome nfp: advertise firmware for mixed 10G/25G mode 2018-02-22 15:22:50 -05:00
nuvoton
nvidia forcedeth: remove duplicate structure member in rx 2018-01-23 11:11:41 -05:00
nxp
oki-semi pch_gbe: Deprecate pci_get_bus_and_slot() 2018-01-17 08:16:46 -06:00
packetengines
pasemi
qlogic net: qlge: use memmove instead of skb_copy_to_linear_data 2018-02-02 19:44:34 -05:00
qualcomm net: qualcomm: rmnet: Fix possible null dereference in command processing 2018-02-19 11:17:34 -05:00
rdc
realtek r8169: simplify and improve check for dash 2018-02-23 12:29:19 -05:00
renesas sh_eth: TSU_QTAG0/1 registers the same as TSU_QTAGM0/1 2018-02-26 13:57:38 -05:00
rocker rocker: fix possible null pointer dereference in rocker_router_fib_event_work 2018-02-01 09:50:52 -05:00
samsung
seeq
sfc sfc: falcon: remove duplicated bit-wise or of LOOPBACK_SGMII 2018-02-26 11:33:52 -05:00
sgi
silan
sis
smsc net/smc9194: Remove bogus CONFIG_MAC reference 2018-02-22 14:44:37 -05:00
socionext
stmicro net: stmmac: honor error code from stmmac_dt_phy() 2018-02-20 14:13:22 -05:00
sun sun: Add SPDX license tags to Sun network drivers 2018-02-07 21:51:02 -05:00
synopsys
tehuti
ti net: ethernet: ti: cpsw: fix net watchdog timeout 2018-02-07 21:57:10 -05:00
tile
toshiba
tundra net: tsi108: Use DMA API properly 2018-01-17 18:04:43 -06:00
via
wiznet
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: jme: remove unused initialization of 'rxdesc' 2018-02-01 14:54:28 -05:00
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c