[Intel-wired-lan] (bisected) ixgbe tx hang since 4.16-rc1
Andre Tomt
andre at tomt.net
Sun Jun 3 07:55:38 UTC 2018
Hello
Since kernel 4.16-rc1 and including linus mainline git tree as of
earlier today this Atom Denverton system with a X553 embedded network
controllers has been unable to send packets until I kick the interface
with a ethtool -r or leave it alone until it trips the TX Unit Hang
watchdog.
The watchdog gets it going eventually, but this can take a while, as
seen here:
> [ 14.132485] ixgbe 0000:05:00.0 eno1: NIC Link is Up 1 Gbps, Flow Control: None
> [ 14.133006] IPv6: ADDRCONF(NETDEV_CHANGE): eno1: link becomes ready
> [ 1085.067049] ixgbe 0000:05:00.0 eno1: Detected Tx Unit Hang
> Tx Queue <4>
> TDH, TDT <1ab>, <1af>
> next_to_use <1af>
> next_to_clean <1ab>
> tx_buffer_info[next_to_clean]
> time_stamp <1000393d8>
> jiffies <100039800>
> [ 1085.081184] ixgbe 0000:05:00.0 eno1: tx hang 1 detected on queue 4, resetting adapter
> [ 1085.081189] ixgbe 0000:05:00.0 eno1: initiating reset due to tx timeout
> [ 1085.082480] ixgbe 0000:05:00.0 eno1: Reset adapter
> [ 1085.083135] ixgbe 0000:05:00.0 eno1: NIC Link is Down
> [ 1088.729499] ixgbe 0000:05:00.0 eno1: NIC Link is Up 1 Gbps, Flow Control: None
A bisection turned up this commit:
49a94d74d9489647dfc3449ee135af4bf8fab2c1 is the first bad commit
commit 49a94d74d9489647dfc3449ee135af4bf8fab2c1
Author: Shannon Nelson <shannon.nelson at oracle.com>
Date: Tue Dec 19 15:59:55 2017 -0800
ixgbe: add ipsec engine start and stop routines
Add in the code for running and stopping the hardware ipsec
encryption/decryption engine. It is good to keep the engine
off when not in use in order to save on the power draw.
Signed-off-by: Shannon Nelson <shannon.nelson at oracle.com>
Tested-by: Andrew Bowers <andrewx.bowers at intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
:040000 040000 417954917c2d03feaa973e4cce5ca8f53b099c94
66091763e776ef25a33417a375d8ce149f01b61f M drivers
Just reverting that commit on 4.17 is a no go, so I verified it by
commenting out the call to ixgbe_ipsec_stop_engine(adapter) in
ixgbe_init_ipsec_offload(), and lo and behold, packets started moving
without intervention again.
This is a Supermicro A2SDi-8C-HLN4F, Atom C3758 (Denverton) system with
"Intel Corporation Ethernet Connection X553 1GbE (rev 11)" according to
pci-id db.
I'm not using ipsec on this system. The modules are built but not loaded.
More information about the Intel-wired-lan
mailing list