]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
gro: inline tcp6_gro_receive()
authorEric Dumazet <edumazet@google.com>
Tue, 20 Jan 2026 16:49:02 +0000 (16:49 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 22 Jan 2026 03:28:32 +0000 (19:28 -0800)
commit87737cd76e44fe5d481e7da2021b925191ccab53
treeef3bd95aebd6d4bb567be9851fc5cd17631d97aa
parent9bd6ff503077e03fdf3b1a0a55b1427759eb23ac
gro: inline tcp6_gro_receive()

FDO/LTO are unable to inline tcp6_gro_receive() from ipv6_gro_receive()

Make sure tcp6_check_fraglist_gro() is only called only when needed,
so that compiler can leave it out-of-line.

$ scripts/bloat-o-meter -t vmlinux.1 vmlinux.2
add/remove: 2/0 grow/shrink: 3/1 up/down: 1123/-253 (870)
Function                                     old     new   delta
ipv6_gro_receive                            1069    1846    +777
tcp6_check_fraglist_gro                        -     272    +272
ipv6_offload_init                            218     274     +56
__pfx_tcp6_check_fraglist_gro                  -      16     +16
ipv6_gro_complete                            433     435      +2
tcp6_gro_receive                             959     706    -253
Total: Before=22592662, After=22593532, chg +0.00%

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260120164903.1912995-3-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/gro.h
include/net/tcp.h
net/ipv6/Makefile
net/ipv6/ip6_offload.c
net/ipv6/tcpv6_offload.c
net/ipv6/udp_offload.c