[Intel-wired-lan] [PATCH iwl-next v4 0/4] igb: Add support for AF_XDP zero-copy
Benjamin Steinke
benjamin.steinke at woks-audio.com
Mon Jul 15 11:34:11 UTC 2024
On Thursday, 27 June 2024, 19:18:37 CEST, Kurt Kanzenbach wrote:
> 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.
Hi Kurt,
I can confirm this makes the transmitter work.
Thank you for taking over this patch series and continue to bring this
upstream. I will continue testing on this.
> > RX seemed to work on first sight.
>
> Yes, Rx works even with PTP enabled.
I can confirm this as well.
Best regards,
Benjamin
More information about the Intel-wired-lan
mailing list