Re: igb: do not re-init SR-IOV during probe

From: Daniel J Blueman
Date: Mon Oct 05 2015 - 05:46:49 EST


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 <sassmann@xxxxxxxxx>
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 <sassmann@xxxxxxxxx>
Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>

-- [2]

commit 76252723e88681628a3dbb9c09c963e095476f73
Author: Stefan Assmann <sassmann@xxxxxxxxx>
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 <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx>
Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/