[Intel-wired-lan] [PATCH S30 v4 5/9] ice: Add support for AF_XDP
Bowers, AndrewX
andrewx.bowers at intel.com
Mon Nov 4 23:55:50 UTC 2019
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Tony Nguyen
> Sent: Thursday, October 31, 2019 7:30 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH S30 v4 5/9] ice: Add support for AF_XDP
>
> From: Krzysztof Kazimierczak <krzysztof.kazimierczak at intel.com>
>
> Add zero copy AF_XDP support. This patch adds zero copy support for Tx and
> Rx; code for zero copy is added to ice_xsk.h and ice_xsk.c.
>
> For Tx, implement ndo_xsk_wakeup. As with other drivers, reuse existing
> XDP Tx queues for this task, since XDP_REDIRECT guarantees mutual
> exclusion between different NAPI contexts based on CPU ID. In turn, a
> netdev can XDP_REDIRECT to another netdev with a different NAPI context,
> since the operation is bound to a specific core and each core has its own
> hardware ring.
>
> For Rx, allocate frames as MEM_TYPE_ZERO_COPY on queues that AF_XDP is
> enabled.
>
> Signed-off-by: Krzysztof Kazimierczak <krzysztof.kazimierczak at intel.com>
> Co-developed-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
> Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen at intel.com>
> ---
> v4:
> - Change ice_build_ctob() call to build_ctob()
> v3:
> - Remove unused prototype ice_xsk_umem_query()
> ---
> drivers/net/ethernet/intel/ice/Makefile | 1 +
> drivers/net/ethernet/intel/ice/ice.h | 26 +
> drivers/net/ethernet/intel/ice/ice_base.c | 53 +-
> drivers/net/ethernet/intel/ice/ice_ethtool.c | 7 +
> drivers/net/ethernet/intel/ice/ice_lib.c | 57 +-
> drivers/net/ethernet/intel/ice/ice_lib.h | 4 +
> drivers/net/ethernet/intel/ice/ice_main.c | 16 +
> drivers/net/ethernet/intel/ice/ice_txrx.c | 46 +-
> drivers/net/ethernet/intel/ice/ice_txrx.h | 20 +-
> drivers/net/ethernet/intel/ice/ice_xsk.c | 1181 ++++++++++++++++++
> drivers/net/ethernet/intel/ice/ice_xsk.h | 72 ++
> 11 files changed, 1456 insertions(+), 27 deletions(-) create mode 100644
> drivers/net/ethernet/intel/ice/ice_xsk.c
> create mode 100644 drivers/net/ethernet/intel/ice/ice_xsk.h
Tested-by: Andrew Bowers <andrewx.bowers at intel.com>
More information about the Intel-wired-lan
mailing list