mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
![]() Use synchronize_rcu to wait until the XSK wakeup function finishes before destroying the resources it uses: 1. i40e_down already calls synchronize_rcu. On i40e_down either __I40E_VSI_DOWN or __I40E_CONFIG_BUSY is set. Check the latter in i40e_xsk_wakeup (the former is already checked there). 2. After switching the XDP program, call synchronize_rcu to let i40e_xsk_wakeup exit before the XDP program is freed. 3. Changing the number of channels brings the interface down (see i40e_prep_for_reset and i40e_pf_quiesce_all_vsi). 4. Disabling UMEM sets __I40E_CONFIG_BUSY, too. Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com> Signed-off-by: Björn Töpel <bjorn.topel@intel.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20191217162023.16011-4-maximmi@mellanox.com |
||
---|---|---|
.. | ||
i40e.h | ||
i40e_adminq.c | ||
i40e_adminq.h | ||
i40e_adminq_cmd.h | ||
i40e_alloc.h | ||
i40e_client.c | ||
i40e_client.h | ||
i40e_common.c | ||
i40e_dcb.c | ||
i40e_dcb.h | ||
i40e_dcb_nl.c | ||
i40e_ddp.c | ||
i40e_debugfs.c | ||
i40e_devids.h | ||
i40e_diag.c | ||
i40e_diag.h | ||
i40e_ethtool.c | ||
i40e_hmc.c | ||
i40e_hmc.h | ||
i40e_lan_hmc.c | ||
i40e_lan_hmc.h | ||
i40e_main.c | ||
i40e_nvm.c | ||
i40e_osdep.h | ||
i40e_prototype.h | ||
i40e_ptp.c | ||
i40e_register.h | ||
i40e_status.h | ||
i40e_trace.h | ||
i40e_txrx.c | ||
i40e_txrx.h | ||
i40e_txrx_common.h | ||
i40e_type.h | ||
i40e_virtchnl_pf.c | ||
i40e_virtchnl_pf.h | ||
i40e_xsk.c | ||
i40e_xsk.h | ||
Makefile |