e1000-devel list, Problem:
With kernel 4.19.29 and igb 5.4.0-k on Intel E5-2618Lv4 and E5-2648Lv4 servers: # ethtool -i eth1 driver: igb version: 5.4.0-k firmware-version: 1.63, 0x800009fa expansion-rom-version: bus-info: 0000:01:00.1 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes [ 9.417249] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k [ 9.424543] igb: Copyright (c) 2007-2014 Intel Corporation. [ 9.487321] igb 0000:01:00.0: added PHC on eth0 [ 9.492188] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection [ 9.499396] igb 0000:01:00.0: eth0: (PCIe:5.0Gb/s:Width x4) 00:50:cc:1d:bd:c6 [ 9.506939] igb 0000:01:00.0: eth0: PBA No: 106300-000 [ 9.512405] igb 0000:01:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s) [ 9.597066] igb 0000:01:00.1: added PHC on eth1 [ 9.601934] igb 0000:01:00.1: Intel(R) Gigabit Ethernet Network Connection [ 9.609148] igb 0000:01:00.1: eth1: (PCIe:5.0Gb/s:Width x4) 00:50:cc:1d:bd:c7 [ 9.616694] igb 0000:01:00.1: eth1: PBA No: 106300-000 [ 9.622162] igb 0000:01:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s) [ 9.684412] igb 0000:01:00.2: added PHC on eth2 [ 9.689504] igb 0000:01:00.2: Intel(R) Gigabit Ethernet Network Connection [ 9.696713] igb 0000:01:00.2: eth2: (PCIe:5.0Gb/s:Width x4) 00:50:cc:1d:bd:c8 [ 9.704256] igb 0000:01:00.2: eth2: PBA No: 106300-000 [ 9.709720] igb 0000:01:00.2: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s) PCI config space from i.e. eth0: 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) Subsystem: Seagate Technology PLC Device 8005 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 128 bytes Interrupt: pin A routed to IRQ 16 NUMA node: 0 Region 0: Memory at 97840000 (32-bit, non-prefetchable) [size=128K] Region 2: I/O ports at 2040 [size=32] Region 3: Memory at 97868000 (32-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME- Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ Address: 0000000000000000 Data: 0000 Masking: 00000000 Pending: 00000000 Capabilities: [70] MSI-X: Enable+ Count=10 Masked- Vector table: BAR=3 offset=00000000 PBA: BAR=3 offset=00002000 Capabilities: [a0] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset- MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend- LnkCap: Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <32us ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Not Supported AtomicOpsCap: 32bit- 64bit- 128bitCAS- DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled AtomicOpsCtl: ReqEn- LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Capabilities: [100 v2] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn- MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- HeaderLog: 00000000 00000000 00000000 00000000 Capabilities: [140 v1] Device Serial Number 00-50-cc-ff-ff-1d-bd-c6 Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI) ARICap: MFVC- ACS-, Next Function: 1 ARICtl: MFVC- ACS-, Function Group: 0 Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV) IOVCap: Migration-, Interrupt Message Number: 000 IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy- IOVSta: Migration- Initial VFs: 8, Total VFs: 8, Number of VFs: 0, Function Dependency Link: 00 VF offset: 384, stride: 4, Device ID: 1520 Supported Page Size: 00000553, System Page Size: 00000001 Region 0: Memory at 0000183fffea0000 (64-bit, prefetchable) Region 3: Memory at 0000183fffe80000 (64-bit, prefetchable) VF Migration: offset: 00000000, BIR: 0 Capabilities: [1a0 v1] Transaction Processing Hints Device specific mode supported Steering table in TPH capability structure Capabilities: [1c0 v1] Latency Tolerance Reporting Max snoop latency: 0ns Max no snoop latency: 0ns Capabilities: [1d0 v1] Access Control Services ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans- ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans- Kernel driver in use: igb Using the default 8 MSI-X vectors (combined TX/RX queues), after 2 days to 30 days of runtime we suddenly see unhandled interrupts, back to back TX timeouts / Reset Adapter sequences, or both at the same time on igb, i.e.: 2019-12-01T17:57:33.797+0000 controller- user.emerg kernel: [919635.664612] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:35.845+0000 controller- user.emerg kernel: [919637.712587] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:37.829+0000 controller- user.emerg kernel: [919639.696569] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:39.237+0000 controller- user.err kernel: [919641.103011] igb 0000:01:00.1 eth1: Reset adapter 2019-12-01T17:57:39.237+0000 controller- user.emerg kernel: [919641.103021] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:39.266+0000 controller- user.err kernel: [919641.132142] igb 0000:01:00.2 eth2: Reset adapter 2019-12-01T17:57:39.268+0000 controller- user.info kernel: [919641.139341] igb 0000:01:00.2 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX 2019-12-01T17:57:39.346+0000 controller- user.emerg kernel: [919641.212614] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:39.363+0000 controller- user.info kernel: [919641.234249] igb 0000:01:00.2 eth2: igb: eth2 NIC Link is Down 2019-12-01T17:57:41.796+0000 controller- user.emerg kernel: [919643.663562] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:42.790+0000 controller- user.info kernel: [919644.661800] igb 0000:01:00.2 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX 2019-12-01T17:57:43.841+0000 controller- user.info kernel: [919645.712796] igb 0000:01:00.1 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX 2019-12-01T17:57:43.849+0000 controller- user.emerg kernel: [919645.714693] do_IRQ: 13.53 No irq handler for vector 2019-12-01T17:57:45.831+0000 controller- user.emerg kernel: [919647.698208] do_IRQ: 13.53 No irq handler for vector Additional observations: 1. The above unhandled MSI-X interrupt message above happens in most cases every 2 seconds and it appears to be coming from igb_watchdog_task(), i.e. from this commit: commit 7a6ea550f2f7592742ac765e5a3b4b5d1461e0bd Author: Alexander Duyck <alexander.h.du...@intel.com> Date: Tue Aug 26 04:25:03 2008 -0700 igb: force all queues to interrupt once every 2 seconds 2. We have found that when we ifconfig eth1 down / ifconfig eth1 up, the unhandled interrupt problem stops but the back to back TX timeout / Adapter reset sequences do not stop. 3. We have found that rmmod igb / insmod igb makes both problems go away temporarily. 4. We have found that for both the unhandled interrupt issue and the tx timeout issue, if we look at the TX/RX interrupt MSI-X irq counts for 1 igb interace in /proc/interrupts, one of them has stopped incrementing, and never increments again (not every 2 seconds anymore, and not even once after several days) i.e.: # date ; cat /proc/interrupts | grep eth1 | grep "51:" Thu Dec 19 17:41:04 GMT 2019 51: 0 19992 22218 40124 32935 28772 35734 48672 24207 49188 3171172 65812 36653 17586 46483 23624 40544 39936 37085 11671 PCI-MSI 526341-edge eth1-TxRx-4 # date ; cat /proc/interrupts | grep eth1 | grep "51:" Thu Dec 19 17:41:12 GMT 2019 51: 0 19992 22218 40124 32935 28772 35734 48672 24207 49188 3171172 65812 36653 17586 46483 23624 40544 39936 37085 11671 PCI-MSI 526341-edge eth1-TxRx-4 The other TX/Rx vector counts keep incrementing on the igb interfaces. 5. We do not see either problem with our older igb kernel/driver i.e. kernel 3.10.0-327.18.2.el7 (Centos) using igb driver 5.2.15-k. 6. We have several other devices using muti vector MSI-X on this 4.19.29 kernel/hardware without any issues. 7. We think PCIe ASPM has been disabled by the kernel at boot time: [ 2.981858] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it 8. We have not performed any runtime PM operations: # cat /sys/class/net/eth1/power/runtime_suspended_time 0 What could be causing these issues? Thank you for your reply! -Adam Radford _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel Ethernet, visit https://forums.intel.com/s/topic/0TO0P00000018NbWAI/intel-ethernet