mbox series

[net-next,0/4] net: gro: cleanups and fast path refinement

Message ID 20240301193740.3436871-1-edumazet@google.com (mailing list archive)
Headers show
Series net: gro: cleanups and fast path refinement | expand

Message

Eric Dumazet March 1, 2024, 7:37 p.m. UTC
Current GRO stack has a 'fast path' for a subset of drivers,
users of napi_frags_skb().

With TCP zerocopy/direct uses, header split at receive is becoming
more important, and GRO fast path is disabled.

This series makes GRO (a bit) more efficient for almost all use cases.

Eric Dumazet (4):
  net: gro: rename skb_gro_header_hard()
  net: gro: change skb_gro_network_header()
  net: gro: enable fast path for more cases
  tcp: gro: micro optimizations in tcp[4]_gro_complete()

 drivers/net/geneve.c   |  2 +-
 include/net/gro.h      | 34 ++++++++++++++++------------------
 net/core/gro.c         | 25 +++++++++++++++++--------
 net/ipv4/fou_core.c    |  2 +-
 net/ipv4/gre_offload.c |  2 +-
 net/ipv4/tcp_offload.c | 19 ++++++++++---------
 6 files changed, 46 insertions(+), 38 deletions(-)

Comments

Paolo Abeni March 4, 2024, 10:30 a.m. UTC | #1
On Fri, 2024-03-01 at 19:37 +0000, Eric Dumazet wrote:
> Current GRO stack has a 'fast path' for a subset of drivers,
> users of napi_frags_skb().
> 
> With TCP zerocopy/direct uses, header split at receive is becoming
> more important, and GRO fast path is disabled.
> 
> This series makes GRO (a bit) more efficient for almost all use cases.
> 
> Eric Dumazet (4):
>   net: gro: rename skb_gro_header_hard()
>   net: gro: change skb_gro_network_header()
>   net: gro: enable fast path for more cases
>   tcp: gro: micro optimizations in tcp[4]_gro_complete()
> 
>  drivers/net/geneve.c   |  2 +-
>  include/net/gro.h      | 34 ++++++++++++++++------------------
>  net/core/gro.c         | 25 +++++++++++++++++--------
>  net/ipv4/fou_core.c    |  2 +-
>  net/ipv4/gre_offload.c |  2 +-
>  net/ipv4/tcp_offload.c | 19 ++++++++++---------
>  6 files changed, 46 insertions(+), 38 deletions(-)

Many thanks, looks great!

Acked-by: Paolo Abeni <pabeni@redhat.com>
patchwork-bot+netdevbpf@kernel.org March 5, 2024, 12:50 p.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Fri,  1 Mar 2024 19:37:36 +0000 you wrote:
> Current GRO stack has a 'fast path' for a subset of drivers,
> users of napi_frags_skb().
> 
> With TCP zerocopy/direct uses, header split at receive is becoming
> more important, and GRO fast path is disabled.
> 
> This series makes GRO (a bit) more efficient for almost all use cases.
> 
> [...]

Here is the summary with links:
  - [net-next,1/4] net: gro: rename skb_gro_header_hard()
    https://git.kernel.org/netdev/net-next/c/93e16ea025d2
  - [net-next,2/4] net: gro: change skb_gro_network_header()
    https://git.kernel.org/netdev/net-next/c/bd56a29c7a4e
  - [net-next,3/4] net: gro: enable fast path for more cases
    https://git.kernel.org/netdev/net-next/c/c7583e9f768e
  - [net-next,4/4] tcp: gro: micro optimizations in tcp[4]_gro_complete()
    https://git.kernel.org/netdev/net-next/c/8f78010b701d

You are awesome, thank you!