mbox series

[0/4] igb: Add support for AF_XDP zero-copy

Message ID 20230704095915.9750-1-sriram.yagnaraman@est.tech (mailing list archive)
Headers show
Series igb: Add support for AF_XDP zero-copy | expand

Message

Sriram Yagnaraman July 4, 2023, 9:59 a.m. UTC
Disclaimer: My first patches to Intel drivers, implemented AF_XDP
zero-copy feature which seemed to be missing for igb. Not sure if it was
a conscious choice to not spend time implementing this for older
devices, nevertheless I send them to the list for review.

The first couple of patches adds helper funcctions to prepare for AF_XDP
zero-copy support which comes in the last couple of patches, one each
for Rx and TX paths.

Sriram Yagnaraman (4):
  igb: prepare for AF_XDP zero-copy support
  igb: Introduce txrx ring enable/disable functions
  igb: add AF_XDP zero-copy Rx support
  igb: add AF_XDP zero-copy Tx support

 drivers/net/ethernet/intel/igb/Makefile   |   2 +-
 drivers/net/ethernet/intel/igb/igb.h      |  52 ++-
 drivers/net/ethernet/intel/igb/igb_main.c | 178 +++++++--
 drivers/net/ethernet/intel/igb/igb_xsk.c  | 434 ++++++++++++++++++++++
 4 files changed, 633 insertions(+), 33 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/igb/igb_xsk.c

Comments

Fijalkowski, Maciej July 4, 2023, 3:37 p.m. UTC | #1
On Tue, Jul 04, 2023 at 11:59:11AM +0200, Sriram Yagnaraman wrote:

Hi Sriram,

> Disclaimer: My first patches to Intel drivers, implemented AF_XDP
> zero-copy feature which seemed to be missing for igb. Not sure if it was
> a conscious choice to not spend time implementing this for older
> devices, nevertheless I send them to the list for review.
> 
> The first couple of patches adds helper funcctions to prepare for AF_XDP
> zero-copy support which comes in the last couple of patches, one each
> for Rx and TX paths.

please include perf numbers in cover letter, CC AF_XDP maintainers and use
batch XSK APIs: xsk_buff_alloc_batch(), xsk_tx_peek_release_desc_batch().

Thanks!

> 
> Sriram Yagnaraman (4):
>   igb: prepare for AF_XDP zero-copy support
>   igb: Introduce txrx ring enable/disable functions
>   igb: add AF_XDP zero-copy Rx support
>   igb: add AF_XDP zero-copy Tx support
> 
>  drivers/net/ethernet/intel/igb/Makefile   |   2 +-
>  drivers/net/ethernet/intel/igb/igb.h      |  52 ++-
>  drivers/net/ethernet/intel/igb/igb_main.c | 178 +++++++--
>  drivers/net/ethernet/intel/igb/igb_xsk.c  | 434 ++++++++++++++++++++++
>  4 files changed, 633 insertions(+), 33 deletions(-)
>  create mode 100644 drivers/net/ethernet/intel/igb/igb_xsk.c
> 
> -- 
> 2.34.1
> 
>
Sriram Yagnaraman July 4, 2023, 6:48 p.m. UTC | #2
> -----Original Message-----
> From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Sent: Tuesday, 4 July 2023 17:37
> To: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
> Cc: intel-wired-lan@lists.osuosl.org; bpf@vger.kernel.org;
> netdev@vger.kernel.org; Jesse Brandeburg <jesse.brandeburg@intel.com>;
> Tony Nguyen <anthony.l.nguyen@intel.com>; 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>;
> Jesper Dangaard Brouer <hawk@kernel.org>; John Fastabend
> <john.fastabend@gmail.com>
> Subject: Re: [PATCH 0/4] igb: Add support for AF_XDP zero-copy
> 
> On Tue, Jul 04, 2023 at 11:59:11AM +0200, Sriram Yagnaraman wrote:
> 
> Hi Sriram,
> 
> > Disclaimer: My first patches to Intel drivers, implemented AF_XDP
> > zero-copy feature which seemed to be missing for igb. Not sure if it
> > was a conscious choice to not spend time implementing this for older
> > devices, nevertheless I send them to the list for review.
> >
> > The first couple of patches adds helper funcctions to prepare for
> > AF_XDP zero-copy support which comes in the last couple of patches,
> > one each for Rx and TX paths.
> 
> please include perf numbers in cover letter, CC AF_XDP maintainers and use
> batch XSK APIs: xsk_buff_alloc_batch(), xsk_tx_peek_release_desc_batch().
> 
> Thanks!
> 

Thank you so much for the quick reply. I will respin addressing your comments.

For the perf numbers, I must confess, I only used the newly delivered IGB device emulation in qemu. I don't have access to a real NIC to provide realistic numbers. But of course, I can provide a comparison between XSK_COPY and XSK_ZEROCOPY using the emulator.
	
> >
> > Sriram Yagnaraman (4):
> >   igb: prepare for AF_XDP zero-copy support
> >   igb: Introduce txrx ring enable/disable functions
> >   igb: add AF_XDP zero-copy Rx support
> >   igb: add AF_XDP zero-copy Tx support
> >
> >  drivers/net/ethernet/intel/igb/Makefile   |   2 +-
> >  drivers/net/ethernet/intel/igb/igb.h      |  52 ++-
> >  drivers/net/ethernet/intel/igb/igb_main.c | 178 +++++++--
> > drivers/net/ethernet/intel/igb/igb_xsk.c  | 434 ++++++++++++++++++++++
> >  4 files changed, 633 insertions(+), 33 deletions(-)  create mode
> > 100644 drivers/net/ethernet/intel/igb/igb_xsk.c
> >
> > --
> > 2.34.1
> >
> >