For the record: I've tracked this down to a pair of commmits, the first of which landed in -35 (released in -36) the second in -37.
The first: https://lkml.org/lkml/2018/6/5/765 The second: https://lkml.org/lkml/2018/6/24/161 In the interim state, it was casting a u64 to a u32, which truncates to the least-significant 32 bits. This was, from what I could see using tcpdump and other tools, causing the TCP window size to truncate to a very small number, leading to hilariously slow network traffic. Further, it seems (although I haven't yet got the whole logic chain in my head) that the TCP algorithm could never get itself out of this state again, so the connection was then permanently stuck in a slow state. The two commits were originally from the one author, within a second of each other, back in Dec 2017. They really needed to be pulled in together. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1796895 Title: Kernel 4.15.0-36 network performance regression Status in linux package in Ubuntu: Fix Released Status in linux source package in Bionic: Fix Committed Bug description: Hardware: HP DL380 Gen 7 server with Gigabit interface. Ubuntu release: 18.04.1 Since upgrading from 4.15.0-33 to 4.15.0-36, I have noticed a dramatic slowdown in TCP over IPv6. Set up: two servers, Server A in US on Ubuntu 18.04.1, Server B in Europe. Test: Sending 400MB over TCP from Server B to Server A. With 4.15.0-33 on Server A, the transfer is completed in 24 seconds, with average speed of 139 mbps. With 4.15.0-36 on Server A, the same amount of data is transferred in 369 seconds, average speed less than 9 mbps. Looking at the result from tcpdump, I see that the there is a big difference in the TCP Window size. With 3.15-0.33 the TCP window size is around 30000. But with 3.15-0.36, the window size is only 734. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1796895/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp