[PATCH net-next 0/5] generic net and ipv6 minor optimisations

From: Pavel Begunkov
Date: Thu Apr 28 2022 - 07:00:25 EST


1-3 inline simple functions that only reshuffle arguments possibly adding
extra zero args, and call another function. It was benchmarked before with
a bunch of extra patches, see for details

https://lore.kernel.org/netdev/cover.1648981570.git.asml.silence@xxxxxxxxx/

It may increase the binary size, but it's the right thing to do and at least
without modules it actually sheds some bytes for some standard-ish config.

text data bss dec hex filename
9627200 0 0 9627200 92e640 ./arch/x86_64/boot/bzImage
text data bss dec hex filename
9627104 0 0 9627104 92e5e0 ./arch/x86_64/boot/bzImage


Pavel Begunkov (5):
net: inline sock_alloc_send_skb
net: inline skb_zerocopy_iter_dgram
net: inline dev_queue_xmit()
ipv6: help __ip6_finish_output() inlining
ipv6: refactor ip6_finish_output2()

include/linux/netdevice.h | 14 ++++++++++++--
include/linux/skbuff.h | 36 ++++++++++++++++++++++--------------
include/net/sock.h | 10 ++++++++--
net/core/datagram.c | 2 --
net/core/datagram.h | 15 ---------------
net/core/dev.c | 15 ++-------------
net/core/skbuff.c | 7 -------
net/core/sock.c | 7 -------
net/ipv6/ip6_output.c | 25 +++++++++++++------------
9 files changed, 57 insertions(+), 74 deletions(-)
delete mode 100644 net/core/datagram.h

--
2.36.0