Re: [PATCH v3 net-next v3 3/6] net: add code for TCP fraglist GRO

From: Felix Fietkau
Date: Fri Apr 26 2024 - 05:44:23 EST


On 26.04.24 09:47, Eric Dumazet wrote:
On Fri, Apr 26, 2024 at 8:51 AM Felix Fietkau <nbd@xxxxxxxx> wrote:

This implements fraglist GRO similar to how it's handled in UDP, however
no functional changes are added yet. The next change adds a heuristic for
using fraglist GRO instead of regular GRO.

Signed-off-by: Felix Fietkau <nbd@xxxxxxxx>
---
net/ipv4/tcp_offload.c | 22 ++++++++++++++++++++++
net/ipv6/tcpv6_offload.c | 9 +++++++++
2 files changed, 31 insertions(+)

diff --git a/net/ipv4/tcp_offload.c b/net/ipv4/tcp_offload.c
index c493e95e09a5..ffd6b7a4163a 100644
--- a/net/ipv4/tcp_offload.c
+++ b/net/ipv4/tcp_offload.c
@@ -332,6 +332,19 @@ struct sk_buff *tcp_gro_receive(struct list_head *head, struct sk_buff *skb)
flush |= (ntohl(th2->seq) + skb_gro_len(p)) ^ ntohl(th->seq);
flush |= skb_cmp_decrypted(p, skb);

+ if (NAPI_GRO_CB(p)->is_flist) {


Please add unlikely() for all NAPI_GRO_CB(p)->is_flist checks added in
this patch.

Will do, thanks.

- Felix