> -----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>
© 2016 - 2025 Red Hat, Inc.