RE: [Intel-wired-lan] [PATCH iwl-next v4 0/4] igb: Add support for AF_XDP zero-copy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

> -----Original Message-----
> From: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx>
> Sent: Thursday, 27 June 2024 19:19
> To: Benjamin Steinke <benjamin.steinke@xxxxxxxxxxxxxx>; Sriram
> Yagnaraman <sriram.yagnaraman@xxxxxxxx>
> Cc: intel-wired-lan@xxxxxxxxxx; Maciej Fijalkowski
> <maciej.fijalkowski@xxxxxxxxx>; Jesper Dangaard Brouer <hawk@xxxxxxxxxx>;
> Daniel Borkmann <daniel@xxxxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx;
> Jonathan Lemon <jonathan.lemon@xxxxxxxxx>; John Fastabend
> <john.fastabend@xxxxxxxxx>; Alexei Starovoitov <ast@xxxxxxxxxx>; Björn
> Töpel <bjorn@xxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Sriram
> Yagnaraman <sriram.yagnaraman@xxxxxxxx>; Tony Nguyen
> <anthony.l.nguyen@xxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>;
> bpf@xxxxxxxxxxxxxxx; Paolo Abeni <pabeni@xxxxxxxxxx>; David S . Miller
> <davem@xxxxxxxxxxxxx>; Magnus Karlsson <magnus.karlsson@xxxxxxxxx>
> Subject: Re: [Intel-wired-lan] [PATCH iwl-next v4 0/4] igb: Add support for
> AF_XDP zero-copy
> 
> Hi Benjamin,
> 
> On Thu Jun 27 2024, Benjamin Steinke wrote:
> > On Thursday, 27 June 2024, 09:07:55 CEST, Kurt Kanzenbach wrote:
> >> Hi Sriram,
> >>
> >> On Fri Aug 04 2023, Sriram Yagnaraman wrote:
> >> > 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.
> >> >
> >> > As mentioned in v1 patchset [0], I don't have access to an actual
> >> > IGB device to provide correct performance numbers. I have used
> >> > Intel 82576EB emulator in QEMU [1] to test the changes to IGB driver.
> >>
> >> I gave this patch series a try on a recent kernel and silicon (i210).
> >> There was one issue in igb_xmit_zc(). But other than that it worked
> >> very nicely.
> >
> > Hi Kurt and Sriram,
> >
> > I recently tried the patches on a 6.1 kernel. On two different devices
> > i210 &
> > i211 I couldn't see any packets being transmitted on the wire. Perhaps
> > caused by the issue in igb_xmit_zc() you mentioned, Kurt? Can you
> > share your findings, please?
> 
> Yeah, that's exactly the issue.
> 
> Following igb_xmit_xdp_ring() I've added PAYLEN to the Tx descriptor instead
> of setting it to zero:
> 
> igb_xmit_zc()
> {
>         [...]
> 
> 	/* put descriptor type bits */
> 	cmd_type = E1000_ADVTXD_DTYP_DATA |
> E1000_ADVTXD_DCMD_DEXT |
> 		   E1000_ADVTXD_DCMD_IFCS;
> 	olinfo_status = descs[i].len << E1000_ADVTXD_PAYLEN_SHIFT;
> 
> 	cmd_type |= descs[i].len | IGB_TXD_DCMD;
> 	tx_desc->read.cmd_type_len = cpu_to_le32(cmd_type);
> 	tx_desc->read.olinfo_status = cpu_to_le32(olinfo_status);
> 
> 	[...]
> }
> 
> Afterwards packets are transmitted on the wire.
> 
> >
> > RX seemed to work on first sight.
> >
> 
> Yes, Rx works even with PTP enabled.
> 
> >> It seems like it hasn't been merged yet. Do you have any plans for
> >> continuing to work on this?
> >
> > I can offer to do testing and debugging on real hardware if this helps.
> 
> Great. Thanks!

I have since changed my position at my company, and my new position doesn't allow me to contribute upstream to kernel unfortunately.
It would be great if one of you can take over this and get it delivered if possible.

Glad that others find this patch useful as well. 




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux