News: 0001492112

  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 Included With The Networking Changes For Linux 6.12

([Linux Networking] 2 Hours Ago Device Memory TCP)


Jakub Kicinski submitted the networking subsystem updates over the weekend for the Linux 6.12 merge window. Most notable this cycle is Device Memory TCP for zero-copy receive of TCP payloads to DMA-BUF regions.

Over the past year Google engineers led the work on Device Memory TCP as [1]a means of going from the network straight to device memory such as for accelerators in a very efficient manner without having to first copy the data to a host memory buffer. This has big implications for GPUs/TPUs and other AI accelerator hardware.

[2]The Device Memory TCP work has been maturing well and the core network code now submitted for Linux 6.12. Jakub explains in the networking pull request:

"Support Device Memory TCP, ability to zero-copy receive TCP payloads to a DMABUF region of memory while packet headers land separately in normal kernel buffers, and TCP processes then as usual."

In addition to the Device Memory TCP core support, the networking changes for Linux 6.12 also include IPv6 IOAM6 support, improving IPsec control path performance, various other performance improvements, and more.

On the network drvier side the NVIDIA Mellanox code now supports hardware-managed steering tables, the AMD Pensando driver now uses page pool to increase receive performance, there is a new driver for Realtek automotive PCIe devices such as RTL9054 / RTL9068 / RTL9072 / RTL9075 / RTL9068 / RTL9071 chipsets, EN7581 support within the MediaTek MT7530 driver, RTL8126A rev.b support within the Realtek RT8169 driver, and the [3]Rust driver for the Applied Micro QT2025 PHY . There is also a new Motorcomm yt8821 2.5G Ethernet PHY driver, the Realtek RTW89 WiFi driver now supports the WiFi 6 chipsets of RTL8852BT and 8852BE-VT, USB 3 support in the Realtek RTW89 driver for the RTL8822CU/RTL8822BU chipsets, and various other network driver enhancements.

More details on the Linux 6.12 networking changes via [4]this pull request .



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

[2] https://www.phoronix.com/news/Device-Memory-TCP-Nears

[3] https://www.phoronix.com/news/New-Rust-PHY-Driver-Linux-6.12

[4] https://lore.kernel.org/lkml/20240915172730.2697972-1-kuba@kernel.org/



phoronix

Hacker's Guide To Cooking:
2 pkg. cream cheese (the mushy white stuff in silver wrappings that doesn't
really come from Philadelphia after all; anyway, about 16 oz.)
1 tsp. vanilla extract (which is more alcohol than vanilla and pretty
strong so this part you *GOTTA* measure)
1/4 cup sugar (but honey works fine too)
8 oz. Cool Whip (the fluffy stuff devoid of nutritional value that you
can squirt all over your friends and lick off...)
"Blend all together until creamy with no lumps." This is where you get to
join(1) all the raw data in a big buffer and then filter it through
merge(1m) with the -thick option, I mean, it starts out ultra lumpy
and icky looking and you have to work hard to mix it. Try an electric
beater if you have a cat(1) that can climb wall(1s) to lick it off
the ceiling(3m).
"Pour into a graham cracker crust..." Aha, the BUGS section at last. You
just happened to have a GCC sitting around under /etc/food, right?
If not, don't panic(8), merely crumble a rand(3m) handful of innocent
GCs into a suitable tempfile and mix in some melted butter.
"...and refrigerate for an hour." Leave the recipe's stdout in a fridge
for 3.6E6 milliseconds while you work on cleaning up stderr, and
by time out your cheesecake will be ready for stdin.