RE: [Intel-wired-lan] [PATCH iwl-next 0/5] idpf: add XSk support

R, Ramu posted 5 patches 1 week ago
Only 0 patches received!
RE: [Intel-wired-lan] [PATCH iwl-next 0/5] idpf: add XSk support
Posted by R, Ramu 1 week ago
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Alexander Lobakin
> Sent: Thursday, September 11, 2025 9:52 PM
> To: intel-wired-lan@lists.osuosl.org
> Cc: Lobakin, Aleksander <aleksander.lobakin@intel.com>; Kubiak, Michal
> <michal.kubiak@intel.com>; Fijalkowski, Maciej
> <maciej.fijalkowski@intel.com>; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>;
> David S. Miller <davem@davemloft.net>; Eric Dumazet
> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> <pabeni@redhat.com>; Alexei Starovoitov <ast@kernel.org>; Daniel
> Borkmann <daniel@iogearbox.net>; Simon Horman <horms@kernel.org>;
> NXNE CNSE OSDT ITP Upstreaming
> <nxne.cnse.osdt.itp.upstreaming@intel.com>; bpf@vger.kernel.org;
> netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> 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 <ramu.r@intel.com>