linux/drivers/net/ethernet/intel/ixgbe
Maciej Fijalkowski 6c7273a266 ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
Commit c685c69fba ("ixgbe: don't do any AF_XDP zero-copy transmit if
netif is not OK") addressed the ring transient state when
MEM_TYPE_XSK_BUFF_POOL was being configured which in turn caused the
interface to through down/up. Maurice reported that when carrier is not
ok and xsk_pool is present on ring pair, ksoftirqd will consume 100% CPU
cycles due to the constant NAPI rescheduling as ixgbe_poll() states that
there is still some work to be done.

To fix this, do not set work_done to false for a !netif_carrier_ok().

Fixes: c685c69fba ("ixgbe: don't do any AF_XDP zero-copy transmit if netif is not OK")
Reported-by: Maurice Baijens <maurice.baijens@ellips.com>
Tested-by: Maurice Baijens <maurice.baijens@ellips.com>
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-03-03 08:26:55 -08:00
..
ixgbe_82598.c
ixgbe_82599.c ixgbe: use checker safe conversions 2021-05-26 09:11:41 -07:00
ixgbe_common.c ixgbe: Fix out-bounds warning in ixgbe_host_interface_command() 2021-05-27 16:10:00 -07:00
ixgbe_common.h
ixgbe_dcb_82598.c
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c
ixgbe_dcb_82599.h
ixgbe_dcb_nl.c net: ethernet: intel: Fix a typo in the file ixgbe_dcb_nl.c 2021-04-13 19:08:48 -07:00
ixgbe_dcb.c
ixgbe_dcb.h
ixgbe_debugfs.c
ixgbe_ethtool.c ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
ixgbe_fcoe.c
ixgbe_fcoe.h
ixgbe_ipsec.c ixgbe: reduce checker warnings 2021-05-26 09:11:41 -07:00
ixgbe_ipsec.h
ixgbe_lib.c ixgbe: let the xdpdrv work with more than 64 cpus 2021-09-30 13:38:08 +01:00
ixgbe_main.c Updates for the interrupt subsystem: 2022-01-13 08:53:45 -08:00
ixgbe_mbx.c
ixgbe_mbx.h
ixgbe_model.h
ixgbe_phy.c ixgbe: Support external GBE SerDes PHY BCM54616s 2021-04-13 19:08:48 -07:00
ixgbe_phy.h
ixgbe_ptp.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
ixgbe_sriov.c ixgbe: fix large MTU request from VF 2021-05-20 15:22:41 -07:00
ixgbe_sriov.h
ixgbe_sysfs.c
ixgbe_txrx_common.h xsk: Wipe out dead zero_copy_allocator declarations 2021-12-14 00:24:24 +01:00
ixgbe_type.h net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr 2021-04-13 19:08:48 -07:00
ixgbe_x540.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
ixgbe_x540.h
ixgbe_x550.c ixgbe: set X550 MDIO speed before talking to PHY 2021-12-15 11:24:39 -08:00
ixgbe_xsk.c ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() 2022-03-03 08:26:55 -08:00
ixgbe.h ixgbe: let the xdpdrv work with more than 64 cpus 2021-09-30 13:38:08 +01:00
Makefile