UDP/IPv6 Optimization Patches Pending For ~5% Improvement In CPU Bound Test

Written by Michael Larabel in Linux Networking on 24 January 2022 at 06:51 AM EST. 4 Comments
Among the many new features in Linux 5.17 are several notable network optimizations. Optimizing network performance is a never-ending game and already for a future kernel are a new set of UDP/IPv6 optimizations being worked on.

Developer Pavel Begunkov recently posted a set of Linux kernel networking patches focused on UDP/IPv6 optimizations but some of the patches also benefit TCP. In CPU-bound testing at least, these patches have shown to provide measurable benefit. Pavel explained with the set of 14 patches:
A mainly UDP/IPv6 optimisation patch set. Zerocopy io_uring benchmark over dummy netdev (CPU bound) gives 2068992 -> 2166481 tx/s, which is ~4.7% or over 5% of net layer overhead. Should give similar results for small packet non-zerocopy.

- 1/14 and 9/14 remove a get/put dst pair each, so saving 4 atomics per corkless UDP send.
- Patches 3-8 optimise iflow handling, in particular removes one 88B memset and one 88B copy.
- 10-14 are random improvements, which are not UDP-specific but also beneficial to TCP and others.

See this patch series for more details on this pending work. It's great seeing the recent lineup of Linux network optimizations.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week