All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf v2 0/4] Fix concurrency issues between XSK wakeup and control path using RCU
@ 2019-12-17 16:20 ` Maxim Mikityanskiy
  0 siblings, 0 replies; 14+ messages in thread
From: Maxim Mikityanskiy @ 2019-12-17 16:20 UTC (permalink / raw)
  To: Björn Töpel, Magnus Karlsson, Jeff Kirsher
  Cc: bpf@vger.kernel.org, netdev@vger.kernel.org,
	intel-wired-lan@lists.osuosl.org, David S. Miller, Saeed Mahameed,
	Alexei Starovoitov, Daniel Borkmann, Jakub Kicinski,
	Jesper Dangaard Brouer, John Fastabend, Jonathan Lemon,
	Maxim Mikityanskiy

This series addresses the issue described in the commit message of the
first patch: lack of synchronization between XSK wakeup and destroying
the resources used by XSK wakeup. The idea is similar to
napi_synchronize. The series contains fixes for the drivers that
implement XSK. I haven't tested the changes to Intel's drivers, so,
Intel guys, please review them.

v2 changes:

Incorporated changes suggested by Björn:

1. Call synchronize_rcu in Intel drivers only if the XDP program is
being unloaded.

2. Don't forget rcu_read_lock when wakeup is called from xsk_poll.

3. Use xs->zc as the condition to call ndo_xsk_wakeup.

Maxim Mikityanskiy (4):
  xsk: Add rcu_read_lock around the XSK wakeup
  net/mlx5e: Fix concurrency issues between config flow and XSK
  net/i40e: Fix concurrency issues between config flow and XSK
  net/ixgbe: Fix concurrency issues between config flow and XSK

 drivers/net/ethernet/intel/i40e/i40e.h        |  2 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c   | 10 ++++++---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c    |  4 ++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  7 +++++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c  |  8 +++++--
 drivers/net/ethernet/mellanox/mlx5/core/en.h  |  2 +-
 .../net/ethernet/mellanox/mlx5/core/en/xdp.h  | 22 ++++++++-----------
 .../mellanox/mlx5/core/en/xsk/setup.c         |  1 +
 .../ethernet/mellanox/mlx5/core/en/xsk/tx.c   |  2 +-
 .../net/ethernet/mellanox/mlx5/core/en_main.c | 19 +---------------
 net/xdp/xsk.c                                 | 22 ++++++++++++-------
 11 files changed, 51 insertions(+), 48 deletions(-)

-- 
2.20.1


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

end of thread, other threads:[~2019-12-19 16:00 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-17 16:20 [PATCH bpf v2 0/4] Fix concurrency issues between XSK wakeup and control path using RCU Maxim Mikityanskiy
2019-12-17 16:20 ` [Intel-wired-lan] " Maxim Mikityanskiy
2019-12-17 16:20 ` [PATCH bpf v2 1/4] xsk: Add rcu_read_lock around the XSK wakeup Maxim Mikityanskiy
2019-12-17 16:20   ` [Intel-wired-lan] " Maxim Mikityanskiy
2019-12-17 16:20 ` [PATCH bpf v2 2/4] net/mlx5e: Fix concurrency issues between config flow and XSK Maxim Mikityanskiy
2019-12-17 16:20   ` [Intel-wired-lan] " Maxim Mikityanskiy
2019-12-17 16:20 ` [PATCH bpf v2 3/4] net/i40e: " Maxim Mikityanskiy
2019-12-17 16:20   ` [Intel-wired-lan] " Maxim Mikityanskiy
2019-12-17 16:20 ` [PATCH bpf v2 4/4] net/ixgbe: " Maxim Mikityanskiy
2019-12-17 16:20   ` [Intel-wired-lan] " Maxim Mikityanskiy
2019-12-17 17:33 ` [PATCH bpf v2 0/4] Fix concurrency issues between XSK wakeup and control path using RCU Björn Töpel
2019-12-17 17:33   ` [Intel-wired-lan] " =?unknown-8bit?q?Bj=C3=B6rn_T=C3=B6pel?=
2019-12-19 15:59   ` Daniel Borkmann
2019-12-19 15:59     ` [Intel-wired-lan] " Daniel Borkmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.