[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-L9Ec+KLGsMzGaMo-e68HYGxn0nv8ABftiKrMmpZn5AvQ@mail.gmail.com>
Date: Sat, 7 Oct 2023 03:58:40 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Florian Westphal <fw@...len.de>
Cc: netdev@...r.kernel.org, davem@...emloft.net, kuba@...nel.org,
edumazet@...gle.com, pabeni@...hat.com, alexander.duyck@...il.com,
Willem de Bruijn <willemb@...gle.com>
Subject: Re: [PATCH net-next 3/3] net: expand skb_segment unit test with
frag_list coverage
On Fri, Oct 6, 2023 at 5:14 PM Florian Westphal <fw@...len.de> wrote:
>
> Willem de Bruijn <willemdebruijn.kernel@...il.com> wrote:
> > + /* TODO: this should also work with SG,
> > + * rather than hit BUG_ON(i >= nfrags)
> > + */
> > + if (tcase->id == GSO_TEST_FRAG_LIST_NON_UNIFORM)
> > + features &= ~NETIF_F_SG;
>
> Out of curiosity, this can't be hit outside of this test
> because GRO is only source and won't generate skbs that
> would trigger this, correct?
My understanding from commit 43170c4e0ba7 is that this happens when a
device allocates non-uniform strides in its rxq. If packets cover two
or more such strides, but otherwise are of gso_size, then GRO will
create GSO packets with a repeating stride pattern. That's a
generalization of the initial frag_list support, which required equal
size of gso_size.
That said, I may have misunderstood the behavior (given that that
seems to cause a panic without _SG). That's one of the difficulties of
defining tests after the fact: reverse engineering what it is that
this function actually is intended to cover, and no more.
Thanks for reviewing the series, Florian.
Powered by blists - more mailing lists