]> git.ipfire.org Git - thirdparty/linux.git/commit
net: gro: enable fast path for more cases
authorEric Dumazet <edumazet@google.com>
Fri, 1 Mar 2024 19:37:39 +0000 (19:37 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 5 Mar 2024 12:30:11 +0000 (13:30 +0100)
commitc7583e9f768eeb82f2531c8372584ba89cfade8b
treedaada686e3890d7c1b85d191bd51140821364e50
parentbd56a29c7a4ebcd3ca69505a2e676449e60965f3
net: gro: enable fast path for more cases

Currently the so-called GRO fast path is only enabled for
napi_frags_skb() callers.

After the prior patch, we no longer have to clear frag0 whenever
we pulled bytes to skb->head.

We therefore can initialize frag0 to skb->data so that GRO
fast path can be used in the following additional cases:

- Drivers using header split (populating skb->data with headers,
  and having payload in one or more page fragments).

- Drivers not using any page frag (entire packet is in skb->data)

Add a likely() in skb_gro_may_pull() to help the compiler
to generate better code if possible.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/net/gro.h
net/core/gro.c