It would be great if the patch "igb: do not re-init SR-IOV during
probe" [1] can be backported from 4.3-rc to stable kernels, since it
fixes the regression introduced by "igb: do a reset on SR-IOV re-init
if device is down" [2].
The regression was introduced in 3.16 and can isolate the IPMI
interface on servers with 82576 NICs if using shared mode (high
impact), around 0.5% of times booted.
Many thanks!
Daniel
-- [1]
commit 6423fc34160939142d72ffeaa2db6408317f54df
Author: Stefan Assmann <[email protected]>
Date: Fri Jul 10 15:01:12 2015 +0200
igb: do not re-init SR-IOV during probe
During driver probing the following code path is triggered.
igb_probe
->igb_sw_init
->igb_probe_vfs
->igb_pci_enable_sriov
->igb_sriov_reinit
Doing the SR-IOV re-init is not necessary during probing since we're
starting from scratch. Here we can call igb_enable_sriov() right
away.
Running igb_sriov_reinit() during igb_probe() also seems to cause
occasional packet loss on some onboard 82576 NICs. Reproduced on
Dell and HP servers with onboard 82576 NICs.
Example:
Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev
01)
Subsystem: Dell Device [1028:0481]
Signed-off-by: Stefan Assmann <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
-- [2]
commit 76252723e88681628a3dbb9c09c963e095476f73
Author: Stefan Assmann <[email protected]>
Date: Thu Jul 10 03:29:39 2014 -0700
igb: do a reset on SR-IOV re-init if device is down
To properly re-initialize SR-IOV it is necessary to reset the device
even if it is already down. Not doing this may result in Tx unit
hangs.
Cc: stable <[email protected]>
Signed-off-by: Stefan Assmann <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/