TCPDirect patches
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-gcp-5.15 (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
Focal |
Fix Committed
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* Include patches to enable TCPDirect. This is considered a v1 implementation while Google works to
upsteam a v2 implementation, hence the "UBUNTU: SAUCE: (no-up)" classification.
[Fix]
d1016eee0b1a ("UBUNTU: SAUCE: (no-up) UPSTREAM: tcp: derive delack_max from rto_min")
10364f0d83ee ("UBUNTU: SAUCE: (no-up) gve: Add retry logic for recoverable adminq errors")
403fb6f43a7c ("UBUNTU: SAUCE: (no-up) tcp: defer regular ACK while processing socket backlog")
be97d51d24da ("UBUNTU: SAUCE: (no-up) gve: Enable header-split without gve_close/
499a0ec31c74 ("UBUNTU: SAUCE: (no-up) gve: fix rx issues for skb free and append frags")
89b4d1e69fac ("UBUNTU: SAUCE: (no-up) net: fix silent put_cmsg() failures")
d025ece61dab ("UBUNTU: SAUCE: (no-up) tcp: get rid of sysctl_
d1380ff2f4e3 ("UBUNTU: SAUCE: (no-up) gve: Add tx watchdog to avoid race condition on miss path")
a4bc2e0cd1a3 ("UBUNTU: SAUCE: (no-up) net-tcp_5k_mtu: force wscale >= 12 for active flows")
bbe85e8e856c ("UBUNTU: SAUCE: (no-up) net-tcp_5k_mtu: force wscale >= 12 for 4K MTU TCP flows")
7d5f15f733e8 ("UBUNTU: SAUCE: (no-up) dma-buf: fix int overflow")
22668842a913 ("UBUNTU: SAUCE: (no-up) gve: add flow steering and rss reset when teardown device resources")
18e66e5d9ac4 ("UBUNTU: SAUCE: (no-up) net: create skb_frags_
5d81162de488 ("UBUNTU: SAUCE: (no-up) net: add missing skb->devmem checks")
cf0bcfdf9f87 ("UBUNTU: SAUCE: (no-up) net: remove devmem check from __pskb_
9ca03b5c36c7 ("UBUNTU: SAUCE: (no-up) net: allow tcp coallapsing and coallescing for devmem skbs")
030aef8b0fd2 ("UBUNTU: SAUCE: (no-up) net: skb_store_bits() should succeed on devmem header")
6aaf939fb49e ("UBUNTU: SAUCE: (no-up) net: fix skb_split unnecessarily setting skb->devmem")
51e12a8201a1 ("UBUNTU: SAUCE: (no-up) net: skb_copy_bits() should be able to copy devmem header")
ea8a78e040f5 ("UBUNTU: SAUCE: (no-up) net: fix memory leaks due to skb->devmem checks")
1fcd891606c0 ("UBUNTU: SAUCE: (no-up) net: fix snaplen for devmem packets")
e4a4e05f4831 ("UBUNTU: SAUCE: (no-up) net: keep track and avoid access of skb containing dma-buf pages.")
424871c3c564 ("UBUNTU: SAUCE: (no-up) gve: implement device memory socket data path")
4f8668ee4cdb ("UBUNTU: SAUCE: (no-up) gve: implement devmem socket stats")
abe1772b0e39 ("UBUNTU: SAUCE: (no-up) gve: add rss support")
c08a1adb6130 ("UBUNTU: SAUCE: (no-up) gve: add flow steering support")
ffa842923ad6 ("UBUNTU: SAUCE: (no-up) gve: Add header split support")
940527385c4c ("UBUNTU: SAUCE: (no-up) lakitu config: enable TCP Direct configs")
ebfa162318f8 ("UBUNTU: SAUCE: (no-up) tcp, cos-only: revert changes to skb_zerocopy_
b87d0b0e659a ("UBUNTU: SAUCE: (no-up) tcp: let sendmsg() take file descriptors via cmsg to enable devmem Tx")
1d523c425a8c ("UBUNTU: SAUCE: (no-up) net: add SO_DEVMEM_DONTNEED setsockopt to release pages")
3e34b0936884 ("UBUNTU: SAUCE: (no-up) net: backport fixes to devmem TCP rx")
446d7a742177 ("UBUNTU: SAUCE: (no-up) tcp: implement RX path for devmem sockets")
109f2e3feb98 ("UBUNTU: SAUCE: (no-up) net: use get_file_rcu() instead of get_file for __netdev_
0d5117d4ea53 ("UBUNTU: SAUCE: (no-up) net: add netdev_
d0d273544148 ("UBUNTU: SAUCE: (no-up) dmabuf: add ioctl that binds dmabuf pagepool to a netdevice")
05c81288f77b ("UBUNTU: SAUCE: (no-up) dma-buf: fix int overflow in addr calculation")
46366a3326d9 ("UBUNTU: SAUCE: (no-up) dma-buf: create struct pages backing a dma-bu")
[Test Case]
* Compile tested
* Boot tested
* Ran ubuntu_
* Tested by Google
[Other Info]
* Bulk of patchset came from https:/
but some backports were given in SalesForce case below.
* SF: #00359122
[Where things could go wrong]
* Most changes target Google gve driver specifically.
* Some required updates to dma and network implementation to enable new API.
* Could lead to DMA or network instabilities
Changed in linux-gcp-5.15 (Ubuntu Focal): | |
status: | New → Fix Committed |
This bug is awaiting verification that the linux-gcp- tcpx/5. 15.0-1001. 1 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- focal-linux- gcp-tcpx' to 'verification- done-focal- linux-gcp- tcpx'. If the problem still exists, change the tag 'verification- needed- focal-linux- gcp-tcpx' to 'verification- failed- focal-linux- gcp-tcpx' .
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!