News: 0001547288

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Device Memory TCP TX Support Queued Ahead Of Linux 6.16

([Linux Networking] 21 Minutes Ago Device Memory TCP Transfer)


Google engineers the past few years have been working on [1]Device Memory TCP for the Linux kernel to allow [2]zero-copy receive of TCP payloads to DMA-BUF regions such as device memory attached directly to a GPU or AI accelerator or other device memory accessible with DMA-BUF. For Linux 6.12 that initial Device Memory TCP receive support was merged while slated for the upcoming Linux 6.16 cycle is Device Memory TCP TX transfer support.

The Google-led patches for Device Memory TCP TX support was [3]queued this past week into the networking subsystem's net-next tree. With it now in net-next, it should be submitted as part of the networking changes for the upcoming Linux 6.16 merge window.

The patches lay out the Device Memory "Devmem" TCP TX support paths and new API as well as enabling the driver support within the Google GVE networking driver for Virtual Ethernet with the Google Compute Engine. In time other Linux networking drivers will likely pick-up support for the Devmem TCP TX capabilities.

The Device Memory TCP TX support went through 14 rounds of code review including changes to the user-space API and was delayed from the original Device Memory TCP patch series to facilitate easier code review at the time. So it's nice to see [4]this net-next merge finally materialize. Unfortunately though no performance/benchmark numbers were included:

"Performance results are not included with this version, unfortunately. I'm having issues running the dma-buf exporter driver against the upstream kernel on my test setup. The issues are specific to that dma-buf exporter and do not affect this patch series. I plan to follow up this series with perf fixes if the tests point to issues once they're up and running."

Linux 6.16 is shaping up to be another big kernel cycle. The merge window will hopefully open up next week while the stable Linux 6.16 should be out around the end of July or early August.



[1] https://www.phoronix.com/news/Linux-Device-Memory-TCP

[2] https://www.phoronix.com/news/Linux-6.12-Networking

[3] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=ac4d1baf97fdaa6ef789273f0fd485c0d0d6f100

[4] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=ac4d1baf97fdaa6ef789273f0fd485c0d0d6f100



phoronix

The idea is to die young as late as possible.
-- Ashley Montague