[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d35c96ca-3c28-4745-a323-949365f5033a@kernel.org>
Date: Thu, 2 May 2024 09:33:05 -0600
From: David Ahern <dsahern@...nel.org>
To: Felix Fietkau <nbd@....name>, netdev@...r.kernel.org,
Eric Dumazet <edumazet@...gle.com>, "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: willemdebruijn.kernel@...il.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 net-next v5 6/6] net: add heuristic for enabling TCP
fraglist GRO
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@...hat.com>
> Reviewed-by: Eric Dumazet <edumazet@...gle.com>
> Signed-off-by: Felix Fietkau <nbd@....name>
> ---
> net/ipv4/tcp_offload.c | 32 ++++++++++++++++++++++++++++++++
> net/ipv6/tcpv6_offload.c | 35 +++++++++++++++++++++++++++++++++++
> 2 files changed, 67 insertions(+)
>
Reviewed-by: David Ahern <dsahern@...nel.org>
Powered by blists - more mailing lists