numam-dpdk/drivers/net/ixgbe
Ilya Maximets 0408f47ba4 net/ixgbe: fix busy polling while fiber link update
If the multispeed fiber link is in DOWN state, ixgbe_setup_link
could take around a second of busy polling. This is highly
inconvenient for the case where single thread periodically
checks the link statuses. For example, OVS main thread
periodically updates the link statuses and hangs for a really
long time busy waiting on ixgbe_setup_link() for a DOWN fiber
ports. For case with 3 down ports it hangs for a 3 seconds and
unable to do anything including packet processing.
Fix that by shifting that workaround to a separate thread by
alarm handler that will try to set up link if it is DOWN.

Fixes: c12d22f65b ("net/ixgbe: ensure link status is updated")
Cc: stable@dpdk.org

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Reviewed-by: Wei Zhao <wei.zhao1@intel.com>
2018-11-05 15:01:25 +01:00
..
base drivers/net: use sleep delay by default for Intel NICs 2018-10-26 22:14:06 +02:00
ixgbe_82599_bypass.c drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
ixgbe_bypass_api.h drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
ixgbe_bypass_defines.h drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
ixgbe_bypass.c ethdev: separate driver APIs 2018-01-22 01:26:49 +01:00
ixgbe_bypass.h drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
ixgbe_ethdev.c net/ixgbe: fix busy polling while fiber link update 2018-11-05 15:01:25 +01:00
ixgbe_ethdev.h net/ixgbe: fix tunnel type set error for FDIR 2018-07-03 01:35:57 +02:00
ixgbe_fdir.c net/ixgbe: fix mask bits register set error for FDIR 2018-07-03 01:35:58 +02:00
ixgbe_flow.c net/ixgbe: fix flow create in ntuple check 2018-10-26 22:14:06 +02:00
ixgbe_ipsec.c net/ixgbe: prevent ic session leak on failure 2018-10-26 22:14:06 +02:00
ixgbe_ipsec.h net/ixgbe: check security enable bits 2018-01-29 10:04:28 +01:00
ixgbe_logs.h net/ixgbe: implement dynamic logging 2018-01-16 18:47:49 +01:00
ixgbe_pf.c net/ixgbe: fix missing null check on detach 2018-07-23 23:55:26 +02:00
ixgbe_regs.h drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
ixgbe_rxtx_vec_common.h net/ixgbe: convert to new Rx offloads API 2018-04-14 00:40:21 +02:00
ixgbe_rxtx_vec_neon.c net/ixgbe: convert to new Rx offloads API 2018-04-14 00:40:21 +02:00
ixgbe_rxtx_vec_sse.c ethdev: separate driver APIs 2018-01-22 01:26:49 +01:00
ixgbe_rxtx.c net/ixgbe: update Tx offload mask 2018-10-26 22:14:06 +02:00
ixgbe_rxtx.h net/ixgbe: remove unnecessary macro 2018-05-23 00:35:01 +02:00
ixgbe_tm.c drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
ixgbe_vf_representor.c add missing static keyword to globals 2018-10-29 02:01:08 +01:00
Makefile net/ixgbe: add support for representor ports 2018-04-27 18:00:57 +01:00
meson.build drivers/net: use sleep delay by default for Intel NICs 2018-10-26 22:14:06 +02:00
rte_pmd_ixgbe_version.map net/ixgbe: add API to update SBP bit 2018-05-14 22:31:47 +01:00
rte_pmd_ixgbe.c net/ixgbe: add API to update SBP bit 2018-05-14 22:31:47 +01:00
rte_pmd_ixgbe.h net/ixgbe: add API to update SBP bit 2018-05-14 22:31:47 +01:00