> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Alexander Lobakin
> Sent: Thursday, September 11, 2025 9:52 PM
> To: [email protected]
> Cc: Lobakin, Aleksander <[email protected]>; Kubiak, Michal
> <[email protected]>; Fijalkowski, Maciej
> <[email protected]>; Nguyen, Anthony L
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; Andrew Lunn <[email protected]>;
> David S. Miller <[email protected]>; Eric Dumazet
> <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni
> <[email protected]>; Alexei Starovoitov <[email protected]>; Daniel
> Borkmann <[email protected]>; Simon Horman <[email protected]>;
> NXNE CNSE OSDT ITP Upstreaming
> <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: [Intel-wired-lan] [PATCH iwl-next 0/5] idpf: add XSk support
> 
> Add support for XSk xmit and receive using libeth_xdp.
> 
> This includes adding interfaces to reconfigure/enable/disable only a 
> particular
> set of queues and support for checksum offload XSk Tx metadata.
> libeth_xdp's implementation mostly matches the one of ice: batched
> allocations and sending, unrolled descriptor writes etc. But unlike other 
> Intel
> drivers, XSk wakeup is implemented using CSD/IPI instead of HW "software
> interrupt". In lots of different tests, this yielded way better perf than SW
> interrupts, but also, this gives better control over which CPU will handle the
> NAPI loop (SW interrupts are a subject to irqbalance and stuff, while CSDs are
> strictly pinned
> 1:1 to the core of the same index).
> Note that the header split is always disabled for XSk queues, as for now we
> see no reasons to have it there.
> 
> XSk xmit perf is up to 3x comparing to ice. XSk XDP_PASS is also faster a 
> bunch
> as it uses system percpu page_pools, so that the only overlead left is
> memcpy(). The rest is at least comparable.
> 
> Alexander Lobakin (3):
>   idpf: implement XSk xmit
>   idpf: implement Rx path for AF_XDP
>   idpf: enable XSk features and ndo_xsk_wakeup
> 
> Michal Kubiak (2):
>   idpf: add virtchnl functions to manage selected queues
>   idpf: add XSk pool initialization
> 
>  drivers/net/ethernet/intel/idpf/Makefile      |    1 +
>  drivers/net/ethernet/intel/idpf/idpf.h        |    7 +
>  drivers/net/ethernet/intel/idpf/idpf_txrx.h   |   72 +-
>  .../net/ethernet/intel/idpf/idpf_virtchnl.h   |   32 +-
>  drivers/net/ethernet/intel/idpf/xdp.h         |    3 +
>  drivers/net/ethernet/intel/idpf/xsk.h         |   33 +
>  .../net/ethernet/intel/idpf/idpf_ethtool.c    |    8 +-
>  drivers/net/ethernet/intel/idpf/idpf_lib.c    |   10 +-
>  drivers/net/ethernet/intel/idpf/idpf_txrx.c   |  451 ++++++-
>  .../net/ethernet/intel/idpf/idpf_virtchnl.c   | 1160 +++++++++++------
>  drivers/net/ethernet/intel/idpf/xdp.c         |   44 +-
>  drivers/net/ethernet/intel/idpf/xsk.c         |  633 +++++++++
>  12 files changed, 1977 insertions(+), 477 deletions(-)  create mode 100644

Tested-by: Ramu R <[email protected]>

Reply via email to