Linux 5.17 To Boast A Big TCP Performance Optimization

Merged this morning by David Miller is these TCP optimizations from Eric Dumazet, a Google engineer.
The most exciting part of these optimizations is this patch in the TCP code to defer SKB freeing after the socket lock is released. The existing kernel code was found to introduce excess latency that can be avoided by not carrying out the SKB freeing while the socket lock is held. Instead they will be freed after the socket lock is released or directly from the BH handler.
This yields "much improved performance" at least for high volume TCP traffic in the data-center. On a 100Gbit NIC, TCP network throughput tests with a 1500 MTU size went from 55 to 65 Gbit while for a 4096+ MTU went from 82 to 95 Gbit.
While only TCP is touched for now, the merge does note that a similar optimization can likely be extended to other protocols. These TCP optimizations will be found in Linux 5.17 next year.
11 Comments