linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v3 00/10] UDP/IPv6 refactoring
@ 2022-05-13 15:26 Pavel Begunkov
  2022-05-13 15:26 ` [PATCH net-next v3 01/10] ipv6: optimise ipcm6 cookie init Pavel Begunkov
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ messages in thread
From: Pavel Begunkov @ 2022-05-13 15:26 UTC (permalink / raw)
  To: netdev, David S . Miller, Jakub Kicinski, Paolo Abeni
  Cc: David Ahern, Eric Dumazet, linux-kernel, Pavel Begunkov

Refactor UDP/IPv6 and especially udpv6_sendmsg() paths. The end result looks
cleaner than it was before and the series also removes a bunch of instructions
and other overhead from the hot path positively affecting performance.

Testing over dummy netdev with 16 byte packets yields 2240481 tx/s,
comparing to 2203417 tx/s previously, which is around +1.6%

v2: no code changes, just resending properly
v3: remove patch moving getfrag callback assignment
    add benchmark numbers

Pavel Begunkov (10):
  ipv6: optimise ipcm6 cookie init
  udp/ipv6: move pending section of udpv6_sendmsg
  udp/ipv6: prioritise the ip6 path over ip4 checks
  udp/ipv6: optimise udpv6_sendmsg() daddr checks
  udp/ipv6: optimise out daddr reassignment
  udp/ipv6: clean up udpv6_sendmsg's saddr init
  ipv6: partially inline fl6_update_dst()
  ipv6: refactor opts push in __ip6_make_skb()
  ipv6: improve opt-less __ip6_make_skb()
  ipv6: clean up ip6_setup_cork

 include/net/ipv6.h    |  24 +++----
 net/ipv6/datagram.c   |   4 +-
 net/ipv6/exthdrs.c    |  15 ++---
 net/ipv6/ip6_output.c |  53 +++++++--------
 net/ipv6/raw.c        |   8 +--
 net/ipv6/udp.c        | 153 ++++++++++++++++++++----------------------
 net/l2tp/l2tp_ip6.c   |   8 +--
 7 files changed, 120 insertions(+), 145 deletions(-)

-- 
2.36.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-05-16 21:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-13 15:26 [PATCH net-next v3 00/10] UDP/IPv6 refactoring Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 01/10] ipv6: optimise ipcm6 cookie init Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 02/10] udp/ipv6: move pending section of udpv6_sendmsg Pavel Begunkov
2022-05-16 13:11   ` Paolo Abeni
2022-05-16 20:09     ` Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 03/10] udp/ipv6: prioritise the ip6 path over ip4 checks Pavel Begunkov
2022-05-16 13:14   ` Paolo Abeni
2022-05-16 20:10     ` Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 04/10] udp/ipv6: optimise udpv6_sendmsg() daddr checks Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 05/10] udp/ipv6: optimise out daddr reassignment Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 06/10] udp/ipv6: clean up udpv6_sendmsg's saddr init Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 07/10] ipv6: partially inline fl6_update_dst() Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 08/10] ipv6: refactor opts push in __ip6_make_skb() Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 09/10] ipv6: improve opt-less __ip6_make_skb() Pavel Begunkov
2022-05-13 15:26 ` [PATCH net-next v3 10/10] ipv6: clean up ip6_setup_cork Pavel Begunkov
2022-05-16 13:48 ` [PATCH net-next v3 00/10] UDP/IPv6 refactoring Paolo Abeni
2022-05-16 14:47   ` David Ahern
2022-05-16 20:48   ` Pavel Begunkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).