Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <aleksander.lobakin@intel.com>
To: Ian Kumlien <ian.kumlien@gmail.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	intel-wired-lan <intel-wired-lan@lists.osuosl.org>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Subject: Re: [Intel-wired-lan] bug with rx-udp-gro-forwarding offloading?
Date: Mon, 26 Jun 2023 19:07:42 +0200	[thread overview]
Message-ID: <22aad588-47d6-6441-45b2-0e685ed84c8d@intel.com> (raw)
In-Reply-To: <CAA85sZtyM+X_oHcpOBNSgF=kmB6k32bpB8FCJN5cVE14YCba+A@mail.gmail.com>

From: Ian Kumlien <ian.kumlien@gmail.com>
Date: Mon, 26 Jun 2023 16:25:24 +0200

> On Mon, Jun 26, 2023 at 4:18 PM Alexander Lobakin
> <aleksander.lobakin@intel.com> wrote:
>>
>> From: Ian Kumlien <ian.kumlien@gmail.com>
>> Date: Sun, 25 Jun 2023 12:59:54 +0200
>>
>>> It could actually be that it's related to: rx-gro-list but
>>> rx-udp-gro-forwarding makes it trigger quicker...  I have yet to
>>> trigger it on igb
>>
>> Hi, the rx-udp-gro-forwarding author here.
>>
>> (good thing this appeared on IWL, which I read time to time, but please
>>  Cc netdev next time)
>> (thus +Cc Jakub, Eric, and netdev)
> 
> Well, two things, it seems like rx-udp-gro-forwarding accelerates it
> but the issue is actually in: rx-gro-list

Do you enable them simultaneously? I remember, when I was adding
gro-fwd, it was working (and working good) as follows:

1. gro-fwd on, gro-list off: gro-fwd
2. gro-fwd off, gro-list on: gro-list
3. gro-fwd on, gro-list on: gro-list

Note that their receive paths are independent[0]: skb_gro_receive_list()
vs skb_gro_receive(), thus I'm still not really sure how gro-fwd can
trigger gro-list's bug.

> 
> And since i've only been able to trigger it in ixgbe i thought it
> might be a driver issue =)

Your screenshot says "__udp_gso_segment", which means that the
problematic UDP GRO packet hits the Tx path. Rx is in general
driver-independent. Tx has separate netdev feature ("tx-gso-list"), but
it's not supported by any driver, just software stack. It might be that
your traffic goes through a bridge or tunnel or anything else that
triggers GSO and software segmentation then booms for some reason.
BTW, __udp_gso_segment() is one-liner when the passed skb was
gro-listed[1], so having it in the bug splat could mean the skb didn't
take that route. But hard to say with no full stacktrace.

[...]

>>>> But correlating that with the source is beyond me, it could be generic
>>>> but i thought i'd send it you first since it's part of the redhat
>>>> guide to speeding up udp traffic
>> [0]
>> https://lore.kernel.org/netdev/f83d79d6-f8d7-a229-941a-7d7427975160@nvidia.com
>>
>> Thanks,
>> Olek

[0]
https://elixir.bootlin.com/linux/latest/source/net/ipv4/udp_offload.c#L518
[1]
https://elixir.bootlin.com/linux/latest/source/net/ipv4/udp_offload.c#L277

Thanks,
Olek
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

  parent reply	other threads:[~2023-06-26 17:16 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-24 20:03 [Intel-wired-lan] bug with rx-udp-gro-forwarding offloading? Ian Kumlien
2023-06-25 10:59 ` Ian Kumlien
2023-06-26 13:39   ` Ian Kumlien
2023-06-26 14:17   ` Alexander Lobakin
2023-06-26 14:25     ` Ian Kumlien
2023-06-26 16:42       ` Paolo Abeni
2023-06-26 17:07       ` Alexander Lobakin [this message]
2023-06-26 17:24         ` Ian Kumlien
2023-06-26 17:30           ` Ian Kumlien
2023-06-26 17:55             ` Paolo Abeni
2023-06-26 18:01               ` Ian Kumlien
2023-06-26 18:20                 ` Ian Kumlien
2023-06-26 18:59                   ` Ian Kumlien
2023-06-27  9:19                     ` Paolo Abeni
2023-06-27 12:31                       ` Ian Kumlien
2023-06-28  7:37                         ` Ian Kumlien
2023-06-28  9:06                           ` Paolo Abeni
2023-06-28 11:47                             ` Ian Kumlien
2023-06-28 12:04                               ` Ian Kumlien
2023-06-28 15:14                                 ` Paolo Abeni
2023-06-28 20:18                                   ` Ian Kumlien
2023-06-29 10:50                                     ` Ian Kumlien
2023-07-03  9:37                                       ` Ian Kumlien
2023-07-04 10:10                                         ` Paolo Abeni
2023-07-04 11:36                                           ` Ian Kumlien
2023-07-04 12:54                                             ` Paolo Abeni
2023-07-04 13:23                                               ` Ian Kumlien
2023-07-04 13:41                                                 ` Paolo Abeni
2023-07-04 14:06                                                   ` Ian Kumlien
2023-07-04 14:27                                                     ` Ian Kumlien
2023-07-04 14:57                                                       ` Ian Kumlien
2023-07-05 10:28                                                       ` Paolo Abeni
2023-07-05 11:32                                                         ` Ian Kumlien
2023-07-05 13:29                                                           ` Paolo Abeni
2023-07-05 13:58                                                             ` Ian Kumlien
2023-07-06  8:42                                                               ` Paolo Abeni
2023-07-06 11:27                                                                 ` Ian Kumlien
2023-07-06 13:01                                                                   ` Paolo Abeni
2023-07-06 13:56                                                                     ` Eric Dumazet
2023-07-06 14:04                                                                       ` Paolo Abeni
2023-07-06 16:17                                                                         ` Ian Kumlien
2023-07-06 17:10                                                                           ` Paolo Abeni
2023-07-06 17:43                                                                             ` Ian Kumlien
2023-07-06 22:32                                                                             ` Ian Kumlien
2023-07-06 22:41                                                                               ` Ian Kumlien
2023-07-07  6:55                                                                               ` Paolo Abeni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=22aad588-47d6-6441-45b2-0e685ed84c8d@intel.com \
    --to=aleksander.lobakin@intel.com \
    --cc=edumazet@google.com \
    --cc=ian.kumlien@gmail.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox