mirror_ubuntu-kernels/drivers/net/ethernet/intel
Alan Brady 04d4105174 i40e/i40evf: use SW variables for hang detection
The i40e_detect_recover_hung function uses the i40e_get_tx_pending
function to determine if there are packets stalled on the ring.
i40e_get_tx_pending calculates the pending packets using the head
writeback value and HW tail.  If the queue is stopped and we lose the
interrupt to update our next_to_clean then we a) won't get another
interrupt to clean because queue is stopped b) we won't catch the
problem with i40e_detect_recover_hung because the HW values look like
there's no packets waiting to be transmitted.  Using the SW values we
can catch the issue because next_to_clean will be out of sync with head
writeback.

This has the added benefit being less CPU intensive because we don't
need to reach into the hardware to get the values.

Signed-off-by: Alan Brady <alan.brady@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-02-26 12:33:27 -08:00
..
e1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
e1000e e1000e: Alert the user that C-states will be disabled by enabling jumbo frames 2018-01-24 12:27:48 -08:00
fm10k fm10k: clarify action when updating the VLAN table 2018-01-24 14:23:27 -08:00
i40e i40e/i40evf: use SW variables for hang detection 2018-02-26 12:33:27 -08:00
i40evf i40e/i40evf: use SW variables for hang detection 2018-02-26 12:33:27 -08:00
igb igb: Clear TXSTMP when ptp_tx_work() is timeout 2018-01-24 12:27:48 -08:00
igbvf igbvf: Use smp_rmb rather than read_barrier_depends 2017-11-21 23:46:04 -08:00
ixgb ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
ixgbe ixgbe: don't set RXDCTL.RLPML for 82599 2018-01-26 10:25:35 -08:00
ixgbevf ixgbevf: use ARRAY_SIZE for various array sizing calculations 2018-01-26 10:25:15 -08:00
e100.c net: e100: Replace PCI pool old API 2018-01-02 16:14:17 -06:00
Kconfig i40evf: Add support for Adaptive Virtual Function 2017-06-01 14:30:02 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00