[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <trinity-0dbbc59b-1e7d-4f58-8611-adb281a82477-1626354270982@3c-app-gmx-bap31>
Date: Thu, 15 Jul 2021 15:04:31 +0200
From: Lino Sanfilippo <LinoSanfilippo@....de>
To: Vladimir Oltean <olteanv@...il.com>
Cc: Andrew Lunn <andrew@...n.ch>, woojung.huh@...rochip.com,
UNGLinuxDriver@...rochip.com, vivien.didelot@...il.com,
f.fainelli@...il.com, davem@...emloft.net, kuba@...nel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Aw: Re: [PATCH 2/2] net: dsa: tag_ksz: dont let the hardware
process the layer 4 checksum
> Gesendet: Donnerstag, 15. Juli 2021 um 13:49 Uhr
> Von: "Vladimir Oltean" <olteanv@...il.com>
> An: "Lino Sanfilippo" <LinoSanfilippo@....de>
> Cc: "Andrew Lunn" <andrew@...n.ch>, woojung.huh@...rochip.com, UNGLinuxDriver@...rochip.com, vivien.didelot@...il.com, f.fainelli@...il.com, davem@...emloft.net, kuba@...nel.org, netdev@...r.kernel.org, linux-kernel@...r.kernel.org
> Betreff: Re: [PATCH 2/2] net: dsa: tag_ksz: dont let the hardware process the layer 4 checksum
>
> On Thu, Jul 15, 2021 at 01:16:12PM +0200, Lino Sanfilippo wrote:
> > Sure, I will test this solution. But I think NETIF_F_FRAGLIST should also be
> > cleared in this case, right?
>
> Hmm, interesting question. I think only hns3 makes meaningful use of
> NETIF_F_FRAGLIST, right? I'm looking at hns3_fill_skb_to_desc().
> Other drivers seem to set it for ridiculous reasons - looking at commit
> 66aa0678efc2 ("ibmveth: Support to enable LSO/CSO for Trunk VEA.") -
> they set NETIF_F_FRAGLIST and then linearize the skb chain anyway. The
> claimed 4x throughput benefit probably has to do with less skbs
> traversing the stack? I don't know.
>
> Anyway, it is hard to imagine all the things that could go wrong with
> chains of IP fragments on a DSA interface, precisely because I have so
> few examples to look at. I would say, header taggers are probably fine,
> tail taggers not so much, so apply the same treatment as for NETIF_F_SG?
>
Please note that skb_put() asserts that the SKB is linearized. So I think we
should rather clear both NETIF_F_FRAGLIST and NETIF_F_SG unconditionally since also
header taggers use some form of skb_put() dont they?
Powered by blists - more mailing lists