linux_dsm_epyc7002/drivers/net/ethernet
Moshe Shemesh 8c702a53bb net/mlx5: Fix frequent ioread PCI access during recovery
High frequency of PCI ioread calls during recovery flow may cause the
following trace on powerpc:

[ 248.670288] EEH: 2100000 reads ignored for recovering device at
location=Slot1 driver=mlx5_core pci addr=0000:01:00.1
[ 248.670331] EEH: Might be infinite loop in mlx5_core driver
[ 248.670361] CPU: 2 PID: 35247 Comm: kworker/u192:11 Kdump: loaded
Tainted: G OE ------------ 4.14.0-115.14.1.el7a.ppc64le #1
[ 248.670425] Workqueue: mlx5_health0000:01:00.1 health_recover_work
[mlx5_core]
[ 248.670471] Call Trace:
[ 248.670492] [c00020391c11b960] [c000000000c217ac] dump_stack+0xb0/0xf4
(unreliable)
[ 248.670548] [c00020391c11b9a0] [c000000000045818]
eeh_check_failure+0x5c8/0x630
[ 248.670631] [c00020391c11ba50] [c00000000068fce4]
ioread32be+0x114/0x1c0
[ 248.670692] [c00020391c11bac0] [c00800000dd8b400]
mlx5_error_sw_reset+0x160/0x510 [mlx5_core]
[ 248.670752] [c00020391c11bb60] [c00800000dd75824]
mlx5_disable_device+0x34/0x1d0 [mlx5_core]
[ 248.670822] [c00020391c11bbe0] [c00800000dd8affc]
health_recover_work+0x11c/0x3c0 [mlx5_core]
[ 248.670891] [c00020391c11bc80] [c000000000164fcc]
process_one_work+0x1bc/0x5f0
[ 248.670955] [c00020391c11bd20] [c000000000167f8c]
worker_thread+0xac/0x6b0
[ 248.671015] [c00020391c11bdc0] [c000000000171618] kthread+0x168/0x1b0
[ 248.671067] [c00020391c11be30] [c00000000000b65c]
ret_from_kernel_thread+0x5c/0x80

Reduce the PCI ioread frequency during recovery by using msleep()
instead of cond_resched()

Fixes: 3e5b72ac2f ("net/mlx5: Issue SW reset on FW assert")
Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Reviewed-by: Feras Daoud <ferasda@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2020-04-08 15:46:36 -07:00
..
3com net: typhoon: Add required whitespace after keywords 2020-03-23 22:10:28 -07:00
8390
adaptec
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon net: ena: Make some functions static 2020-03-30 10:53:40 -07:00
amd xgbe: let core reject the unsupported coalescing parameters 2020-03-05 12:12:34 -08:00
apm
apple
aquantia net: atlantic: fix missing | operator when assigning rec->llc 2020-04-02 06:50:59 -07:00
arc
atheros atl2: remove unused variable 'atl2_driver_string' 2020-03-26 11:22:20 -07:00
aurora
broadcom bnx2x: correct a comment mistake in grammar 2020-04-01 11:24:17 -07:00
brocade net: bna: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
cadence net: macb: Fix handling of fixed-link node 2020-03-31 10:06:27 -07:00
calxeda
cavium net: cavium: Fix build errors due to 'imply CAVIUM_PTP' 2020-04-02 07:01:31 -07:00
chelsio cxgb4: free MQPRIO resources in shutdown path 2020-04-01 11:16:43 -07:00
cirrus net/cirrus: Delete driver version 2020-03-03 17:54:54 -08:00
cisco enic: let core reject the unsupported coalescing parameters 2020-03-05 12:12:34 -08:00
cortina net: gemini: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
davicom net/davicom: Delete ethtool version assignment 2020-03-03 17:54:54 -08:00
dec net: tulip: Replace zero-length array with flexible-array member 2020-03-05 14:55:48 -08:00
dlink net/dlink: Remove driver version and release date 2020-03-03 17:54:54 -08:00
emulex net: be2net: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
ezchip
faraday net/faraday: fix grammar in function ftgmac100_setup_clk() in ftgmac100.c 2020-04-01 11:23:45 -07:00
freescale net: fec: set GPR bit on suspend by DT configuration. 2020-04-07 18:23:37 -07:00
fujitsu
google
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-30 20:48:43 -07:00
huawei hinic: fix wrong value of MIN_SKB_LEN 2020-03-21 19:44:16 -07:00
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-12 22:34:48 -07:00
intel pci-v5.7-changes 2020-04-03 14:25:02 -07:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
mediatek net: ethernet: mediatek: move mt7623 settings out off the mt7530 2020-04-07 18:28:28 -07:00
mellanox net/mlx5: Fix frequent ioread PCI access during recovery 2020-04-08 15:46:36 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
microchip
moxa
mscc net: dsa: felix: add port policers 2020-03-30 11:44:00 -07:00
myricom net: myri10ge: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
natsemi
neterion net: vxge: fix wrong __VA_ARGS__ usage 2020-03-16 15:03:59 -07:00
netronome net: sched: expose HW stats types per action used by drivers 2020-03-30 11:06:49 -07:00
ni net: nixge: let core reject the unsupported coalescing parameters 2020-03-14 21:13:54 -07:00
nvidia
nxp
oki-semi
packetengines
pasemi
pensando ionic: set station addr only if needed 2020-04-08 13:02:32 -07:00
qlogic qed: remove redundant assignment to variable 'rc' 2020-04-06 10:22:09 -07:00
qualcomm net: qualcomm: rmnet: Allow configuration updates to existing devices 2020-04-02 06:50:04 -07:00
rdc
realtek r8169: change back SG and TSO to be disabled by default 2020-04-06 10:09:58 -07:00
renesas
rocker
samsung net: sxgbe: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
seeq
sfc sfc: falcon: convert to use i2c_new_client_device() 2020-03-26 19:31:21 -07:00
sgi net: sgi: ioc3-eth: Remove phy workaround 2020-03-09 10:09:45 -07:00
silan
sis
smsc
socionext net: socionext: reject unsupported coalescing params 2020-03-17 20:56:57 -07:00
stmicro net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting 2020-04-03 15:58:54 -07:00
sun net: sun: use pci_status_get_and_clear_errors 2020-03-04 14:21:00 -08:00
synopsys net: dwc-xlgmac: let core reject the unsupported coalescing parameters 2020-03-17 20:56:57 -07:00
tehuti net: tehuti: reject unsupported coalescing params 2020-03-17 20:56:57 -07:00
ti net: ethernet: ti: fix spelling mistake "rundom" -> "random" 2020-03-30 10:18:52 -07:00
toshiba
tundra
via net: via: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
wiznet
xilinx net: axienet: Allow DMA to beyond 4GB 2020-03-24 16:33:05 -07:00
xircom
xscale
dnet.c net/dnet: Delete static version from the driver 2020-03-03 17:54:55 -08:00
dnet.h net/dnet: Delete static version from the driver 2020-03-03 17:54:55 -08:00
ec_bhf.c
ethoc.c
fealnx.c net/fealnx: Delete driver version 2020-03-03 17:54:55 -08:00
jme.c net: jme: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile