TCP Auto Corking Comes To The Linux 3.14 Kernel

Written by Michael Larabel in Linux Kernel on 25 January 2014 at 10:22 AM EST. Add A Comment
LINUX KERNEL
TCP auto corking and other new features is coming to the next Linux kernel release.

Eric Dumazet of Google, who was working on the TCP auto corking patch-set, describes the networking feature as:
With the introduction of TCP Small Queues, TSO auto sizing, and TCP pacing, we can implement Automatic Corking in the kernel, to help applications doing small write()/sendmsg() to TCP sockets.

Idea is to change tcp_push() to check if the current skb payload is under skb optimal size (a multiple of MSS bytes)

If under 'size_goal', and at least one packet is still in Qdisc or NIC TX queues, set the TCP Small Queue Throttled bit, so that the push will be delayed up to TX completion time.

This delay might allow the application to coalesce more bytes in the skb in following write()/sendmsg()/sendfile() system calls.
As then simply described in the pull request, "Basically, if we have a small send and a previous packet is already in the qdisc or device queue, defer until TX completion or we get more data."

Other networking changes for the Linux 3.14 kernel include a BPF debugger and asm tool, support for user-space to manage IPv6 temporary addresses, support for bonding to be configured fully using netlink, a new Heavy-Hitter Filter (HHF) qdisc, 10G support in the generic phylib, and various other networking changes.

Other Linux 3.14 networking changes can be found via the pull request by David Miller.
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