2019-11-15 01:26:17

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net-next] net: core: allow fast GRO for skbs with Ethernet header in head

From: Alexander Lobakin <[email protected]>
Date: Tue, 12 Nov 2019 15:28:43 +0300

> Commit 78d3fd0b7de8 ("gro: Only use skb_gro_header for completely
> non-linear packets") back in May'09 (2.6.31-rc1) has changed the
> original condition '!skb_headlen(skb)' to the current
> 'skb_mac_header(skb) == skb_tail_pointer(skb)' in gro_reset_offset()
> saying: "Since the drivers that need this optimisation all provide
> completely non-linear packets".

Please reference the appropriate SHA1-ID both here in this paragraph and
also in an appropriate Fixes: tag.

If this goes so far back that it is before GIT, then you need to provide
a reference to the patch posting via lore.kernel.org or similar because
it is absolutely essentialy for people reviewing this patch to be able
to do some digging into why the condition is code the way that it is
currently.

Thank you.


2019-11-15 07:38:21

by Alexander Lobakin

[permalink] [raw]
Subject: Re: [PATCH net-next] net: core: allow fast GRO for skbs with Ethernet header in head

Hi Dave,

David Miller wrote 15.11.2019 04:25:

> From: Alexander Lobakin <[email protected]>
> Date: Tue, 12 Nov 2019 15:28:43 +0300
>
>> Commit 78d3fd0b7de8 ("gro: Only use skb_gro_header for completely
>> non-linear packets") back in May'09 (2.6.31-rc1) has changed the
>> original condition '!skb_headlen(skb)' to the current
>> 'skb_mac_header(skb) == skb_tail_pointer(skb)' in gro_reset_offset()
>> saying: "Since the drivers that need this optimisation all provide
>> completely non-linear packets".
>
> Please reference the appropriate SHA1-ID both here in this paragraph
> and
> also in an appropriate Fixes: tag.

Sorry for confusing. The SHA1-ID from commit message is correct
actually. At the moment of 2.6.31 we used skb->mac_header and skb->tail
pointers directly, so the original condition was
'skb->mac_header == skb->tail'.
Commit ced14f6804a9 ("net: Correct comparisons and calculations using
skb->tail and skb-transport_header") has changed this condition to
the referred 'skb_mac_header(skb) == skb_tail_pointer(skb)' without
any functional changes.
I didn't add the "Fixes:" tag because at the moment of 2.6.31 it was
a needed change, but it became obsolete later, so now we can revert
it back to speed up skbs with only Ethernet header in head.
Please let me know if I must send v2 of this patch with corrected
description before getting any further reviews.

Thanks.

> If this goes so far back that it is before GIT, then you need to
> provide
> a reference to the patch posting via lore.kernel.org or similar because
> it is absolutely essentialy for people reviewing this patch to be able
> to do some digging into why the condition is code the way that it is
> currently.
>
> Thank you.

Regards,
ᚷ ᛖ ᚢ ᚦ ᚠ ᚱ

2019-11-15 07:50:33

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net-next] net: core: allow fast GRO for skbs with Ethernet header in head

From: Alexander Lobakin <[email protected]>
Date: Fri, 15 Nov 2019 10:36:08 +0300

> Please let me know if I must send v2 of this patch with corrected
> description before getting any further reviews.

I would say that you do, thanks for asking.

The more details and information in the commit message, the better.