[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <16778076.kXn58iQkRG@desktop>
Date: Mon, 15 Jul 2024 13:34:11 +0200
From: Benjamin Steinke <benjamin.steinke@...s-audio.com>
To: <intel-wired-lan@...osl.org>, Kurt Kanzenbach <kurt@...utronix.de>
CC: Sriram Yagnaraman <sriram.yagnaraman@....tech>, Maciej Fijalkowski
<maciej.fijalkowski@...el.com>, Jesper Dangaard Brouer <hawk@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, <netdev@...r.kernel.org>, Jonathan
Lemon <jonathan.lemon@...il.com>, John Fastabend <john.fastabend@...il.com>,
Alexei Starovoitov <ast@...nel.org>, Björn Töpel
<bjorn@...nel.org>, Eric Dumazet <edumazet@...gle.com>, Sriram Yagnaraman
<sriram.yagnaraman@....tech>, Tony Nguyen <anthony.l.nguyen@...el.com>, Jakub
Kicinski <kuba@...nel.org>, <bpf@...r.kernel.org>, Paolo Abeni
<pabeni@...hat.com>, "David S . Miller" <davem@...emloft.net>, Magnus
Karlsson <magnus.karlsson@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v4 0/4] igb: Add support for AF_XDP zero-copy
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
Powered by blists - more mailing lists