Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH iwl-net 00/11] ice: fix AF_XDP ZC timeout and concurrency issues
@ 2024-05-28 13:14 Maciej Fijalkowski
  2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 01/11] ice: respect netif readiness in AF_XDP ZC related ndo's Maciej Fijalkowski
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Maciej Fijalkowski @ 2024-05-28 13:14 UTC (permalink / raw)
  To: intel-wired-lan
  Cc: Maciej Fijalkowski, larysa.zaremba, netdev, michal.kubiak,
	anthony.l.nguyen, magnus.karlsson

Hi,

changes included in this patchset address an issue that customer has
been facing when AF_XDP ZC Tx sockets were used in combination with flow
control and regular Tx traffic.

After executing:
ethtool --set-priv-flags $dev link-down-on-close on
ethtool -A $dev rx on tx on

launching multiple ZC Tx sockets on $dev + pinging remote interface (so
that regular Tx traffic is present) and then going through down/up of
$dev, Tx timeout occured and then most of the time ice driver was unable
to recover from that state.

Patches 1-8 combined together solve the described above issue on
customer side. Main focus here is to forbid producing Tx descriptors
when either carrier is not yet initialized or process of bringing
interface down has already started.

On top of that, Larysa goes further with fixing XSK pool setup issues
and race condition when Tx timeout strikes at the same time as
ndo_bpf().

Thanks,
Maciej


Larysa Zaremba (3):
  ice: move locking outside of ice_qp_ena and ice_qp_dis
  ice: lock with PF state instead of VSI state in ice_xsk_pool_setup()
  ice: protect ring configuration with a mutex

Maciej Fijalkowski (7):
  ice: don't busy wait for Rx queue disable in ice_qp_dis()
  ice: replace synchronize_rcu with synchronize_net
  ice: modify error handling when setting XSK pool in ndo_bpf
  ice: toggle netif_carrier when setting up XSK pool
  ice: improve updating ice_{t,r}x_ring::xsk_pool
  ice: add missing WRITE_ONCE when clearing ice_rx_ring::xdp_prog
  ice: xsk: fix txq interrupt mapping

Michal Kubiak (1):
  ice: respect netif readiness in AF_XDP ZC related ndo's

 drivers/net/ethernet/intel/ice/ice.h      |   8 +-
 drivers/net/ethernet/intel/ice/ice_base.c |   4 +-
 drivers/net/ethernet/intel/ice/ice_lib.c  |  23 +++-
 drivers/net/ethernet/intel/ice/ice_main.c |  41 +++++-
 drivers/net/ethernet/intel/ice/ice_txrx.c |   6 +-
 drivers/net/ethernet/intel/ice/ice_xsk.c  | 154 ++++++++++++----------
 drivers/net/ethernet/intel/ice/ice_xsk.h  |   4 +-
 7 files changed, 151 insertions(+), 89 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-05-28 19:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-28 13:14 [Intel-wired-lan] [PATCH iwl-net 00/11] ice: fix AF_XDP ZC timeout and concurrency issues Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 01/11] ice: respect netif readiness in AF_XDP ZC related ndo's Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 02/11] ice: don't busy wait for Rx queue disable in ice_qp_dis() Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 03/11] ice: replace synchronize_rcu with synchronize_net Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 04/11] ice: modify error handling when setting XSK pool in ndo_bpf Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 05/11] ice: toggle netif_carrier when setting up XSK pool Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 06/11] ice: improve updating ice_{t, r}x_ring::xsk_pool Maciej Fijalkowski
2024-05-28 17:44   ` kernel test robot
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 07/11] ice: add missing WRITE_ONCE when clearing ice_rx_ring::xdp_prog Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 08/11] ice: xsk: fix txq interrupt mapping Maciej Fijalkowski
2024-05-28 19:52   ` kernel test robot
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 09/11] ice: move locking outside of ice_qp_ena and ice_qp_dis Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 10/11] ice: lock with PF state instead of VSI state in ice_xsk_pool_setup() Maciej Fijalkowski
2024-05-28 13:14 ` [Intel-wired-lan] [PATCH iwl-net 11/11] ice: protect ring configuration with a mutex Maciej Fijalkowski
2024-05-28 14:11   ` Larysa Zaremba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox