ice: improve updating ice_{t,r}x_ring::xsk_pool
xsk_buff_pool pointers that ice ring structs hold are updated via ndo_bpf that is executed in process context while it can be read by remote CPU at the same time within NAPI poll. Use synchronize_net() after pointer update and {READ,WRITE}_ONCE() when working with mentioned pointer. Fixes: 2d4238f5 ("ice: Add support for AF_XDP") Reviewed-by:Shannon Nelson <shannon.nelson@amd.com> Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel) Signed-off-by:
Maciej Fijalkowski <maciej.fijalkowski@intel.com> Signed-off-by:
Tony Nguyen <anthony.l.nguyen@intel.com>
Showing
- drivers/net/ethernet/intel/ice/ice.h 5 additions, 6 deletionsdrivers/net/ethernet/intel/ice/ice.h
- drivers/net/ethernet/intel/ice/ice_base.c 2 additions, 2 deletionsdrivers/net/ethernet/intel/ice/ice_base.c
- drivers/net/ethernet/intel/ice/ice_main.c 1 addition, 1 deletiondrivers/net/ethernet/intel/ice/ice_main.c
- drivers/net/ethernet/intel/ice/ice_txrx.c 5 additions, 3 deletionsdrivers/net/ethernet/intel/ice/ice_txrx.c
- drivers/net/ethernet/intel/ice/ice_xsk.c 64 additions, 39 deletionsdrivers/net/ethernet/intel/ice/ice_xsk.c
- drivers/net/ethernet/intel/ice/ice_xsk.h 10 additions, 4 deletionsdrivers/net/ethernet/intel/ice/ice_xsk.h
Please register or sign in to comment