Public bug reported: [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/gve_open") 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_tcp_adv_win_scale") 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_not_readable() helper") 5d81162de488 ("UBUNTU: SAUCE: (no-up) net: add missing skb->devmem checks") cf0bcfdf9f87 ("UBUNTU: SAUCE: (no-up) net: remove devmem check from __pskb_copy_fclone()") 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_iter_stream") 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_rxq_alloc_page_from_dmabuf_pool") 0d5117d4ea53 ("UBUNTU: SAUCE: (no-up) net: add netdev_rxq_alloc_page and skb->devmem") 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_kernel_selftests and ubuntu_performance_stress_ng test suites * Tested by Google [Other Info] * Bulk of patchset came from https://cos.googlesource.com/third_party/kernel/+log/refs/heads/tcpd/R105, 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 ** Affects: linux-gcp-5.15 (Ubuntu) Importance: Undecided Status: New ** Affects: linux-gcp-5.15 (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: linux-gcp-5.15 (Ubuntu Focal) Importance: Undecided Status: New -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-gcp-5.15 in Ubuntu. https://bugs.launchpad.net/bugs/2037087 Title: TCPDirect patches Status in linux-gcp-5.15 package in Ubuntu: New Status in linux-gcp-5.15 source package in Focal: New 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/gve_open") 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_tcp_adv_win_scale") 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_not_readable() helper") 5d81162de488 ("UBUNTU: SAUCE: (no-up) net: add missing skb->devmem checks") cf0bcfdf9f87 ("UBUNTU: SAUCE: (no-up) net: remove devmem check from __pskb_copy_fclone()") 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_iter_stream") 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_rxq_alloc_page_from_dmabuf_pool") 0d5117d4ea53 ("UBUNTU: SAUCE: (no-up) net: add netdev_rxq_alloc_page and skb->devmem") 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_kernel_selftests and ubuntu_performance_stress_ng test suites * Tested by Google [Other Info] * Bulk of patchset came from https://cos.googlesource.com/third_party/kernel/+log/refs/heads/tcpd/R105, 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-gcp-5.15/+bug/2037087/+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