Re: [RFC] net: add TCP fraglist GRO support
From: Eric Dumazet
Date: Tue Apr 23 2024 - 06:16:18 EST
On Tue, Apr 23, 2024 at 11:41 AM Felix Fietkau <nbd@xxxxxxxx> wrote:
>
> When forwarding TCP after GRO, software segmentation is very expensive,
> especially when the checksum needs to be recalculated.
> One case where that's currently unavoidable is when routing packets over
> PPPoE. Performance improves significantly when using fraglist GRO
> implemented in the same way as for UDP.
>
> Here's a measurement of running 2 TCP streams through a MediaTek MT7622
> device (2-core Cortex-A53), which runs NAT with flow offload enabled from
> one ethernet port to PPPoE on another ethernet port + cake qdisc set to
> 1Gbps.
>
> rx-gro-list off: 630 Mbit/s, CPU 35% idle
> rx-gro-list on: 770 Mbit/s, CPU 40% idle
Hi Felix
changelog is a bit terse, and patch complex.
Could you elaborate why this issue
seems to be related to a specific driver ?
I think we should push hard to not use frag_list in drivers :/
And GRO itself could avoid building frag_list skbs
in hosts where forwarding is enabled.
(Note that we also can increase MAX_SKB_FRAGS to 45 these days)