mirror_ubuntu-kernels/drivers/net/ethernet/intel/igc
Sasha Neftin 9b27517627 igc: Add ndo_tx_timeout support
On some platforms, 100/1000/2500 speeds seem to have sometimes problems
reporting false positive tx unit hang during stressful UDP traffic. Likely
other Intel drivers introduce responses to a tx hang. Update the 'tx hang'
comparator with the comparison of the head and tail of ring pointers and
restore the tx_timeout_factor to the previous value (one).

This can be test by using netperf or iperf3 applications.
Example:
iperf3 -s -p 5001
iperf3 -c 192.168.0.2 --udp -p 5001 --time 600 -b 0

netserver -p 16604
netperf -H 192.168.0.2 -l 600 -p 16604 -t UDP_STREAM -- -m 64000

Fixes: b27b8dc77b ("igc: Increase timeout value for Speed 100/1000/2500")
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://lore.kernel.org/r/20230206235818.662384-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-02-07 21:57:26 -08:00
..
igc_base.c igc: Remove unused phy_type enum 2022-05-10 14:02:40 -07:00
igc_base.h igc: Enable TX via AF_XDP zero-copy 2021-05-20 10:21:42 -07:00
igc_defines.h igc: Fix PPS delta between two synchronized end-points 2023-01-10 11:43:36 -08:00
igc_diag.c
igc_diag.h
igc_dump.c igb/igc: use strongly typed pointer 2021-05-26 09:11:41 -07:00
igc_ethtool.c net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). 2022-10-28 20:13:54 -07:00
igc_hw.h igc: Remove forced_speed_duplex value 2022-07-18 09:34:38 -07:00
igc_i225.c igc: Fix infinite loop in release_swfw_sync 2022-04-13 07:58:32 -07:00
igc_i225.h igc: Add initial LTR support 2020-06-29 18:21:09 -07:00
igc_mac.c intel/igc:fix repeated words in comments 2022-06-30 11:06:23 -07:00
igc_mac.h
igc_main.c igc: Add ndo_tx_timeout support 2023-02-07 21:57:26 -08:00
igc_nvm.c
igc_nvm.h
igc_phy.c igc: Change type of the 'igc_check_downshift' method 2022-05-10 14:02:53 -07:00
igc_phy.h igc: Change type of the 'igc_check_downshift' method 2022-05-10 14:02:53 -07:00
igc_ptp.c igc: return an error if the mac type is unknown in igc_ptp_systim_to_hwtstamp() 2023-02-01 21:19:57 -08:00
igc_regs.h igc: Correct the launchtime offset 2022-11-02 11:38:22 -07:00
igc_tsn.c igc: allow BaseTime 0 enrollment for Qbv 2022-12-15 13:19:49 -08:00
igc_tsn.h igc: Correct the launchtime offset 2022-11-02 11:38:22 -07:00
igc_xdp.c net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
igc_xdp.h igc: Enable RX via AF_XDP zero-copy 2021-05-20 10:21:42 -07:00
igc.h igc: allow BaseTime 0 enrollment for Qbv 2022-12-15 13:19:49 -08:00
Makefile igc: Add initial XDP support 2021-03-29 09:09:53 -07:00