Hi, > -----Original Message----- > From: Kurt Kanzenbach <[email protected]> > Sent: Thursday, 27 June 2024 19:19 > To: Benjamin Steinke <[email protected]>; Sriram > Yagnaraman <[email protected]> > Cc: [email protected]; Maciej Fijalkowski > <[email protected]>; Jesper Dangaard Brouer <[email protected]>; > Daniel Borkmann <[email protected]>; [email protected]; > Jonathan Lemon <[email protected]>; John Fastabend > <[email protected]>; Alexei Starovoitov <[email protected]>; Björn > Töpel <[email protected]>; Eric Dumazet <[email protected]>; Sriram > Yagnaraman <[email protected]>; Tony Nguyen > <[email protected]>; Jakub Kicinski <[email protected]>; > [email protected]; Paolo Abeni <[email protected]>; David S . Miller > <[email protected]>; Magnus Karlsson <[email protected]> > 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.
