Messages in this thread | | | Date | Thu, 2 May 2024 09:33:05 -0600 | Subject | Re: [PATCH v5 net-next v5 6/6] net: add heuristic for enabling TCP fraglist GRO | From | David Ahern <> |
| |
On 5/2/24 2:44 AM, Felix Fietkau 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. > > When NETIF_F_GRO_FRAGLIST is enabled, perform a lookup for an established > socket in the same netns as the receiving device. While this may not > cover all relevant use cases in multi-netns configurations, it should be > good enough for most configurations that need this. > > 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 > > Acked-by: Paolo Abeni <pabeni@redhat.com> > Reviewed-by: Eric Dumazet <edumazet@google.com> > Signed-off-by: Felix Fietkau <nbd@nbd.name> > --- > net/ipv4/tcp_offload.c | 32 ++++++++++++++++++++++++++++++++ > net/ipv6/tcpv6_offload.c | 35 +++++++++++++++++++++++++++++++++++ > 2 files changed, 67 insertions(+) >
Reviewed-by: David Ahern <dsahern@kernel.org>
| |