Netdev 0x18 venue
California, USA
Previous editions
Fosstodon
NETDEV VIDEOS
Session
Devmem TCP & io uring zero copy
Speakers
Willem de Bruijn
Jakub Kicinski
Mina Almasry
Shailend Chand
David Wei
Pavel Begunkov
Label
Moonshot
Session Type
Bof
Contents
Description
We’d like to give a follow up talk on devmem TCP & io uring zero copy, without recycling any of the material shared in last year’s talks:
Devmem TCP: https://netdevconf.info/0x17/sessions/talk/device-memory-tcp.html
io uring zero copy: https://netdevconf.info/0x17/sessions/talk/fast-zc-rx-data-plane-using-io-uring.html
We’d like to talk about the introduction of the ‘network memory’ abstraction (netmem). Netmem is an abstraction over the struct page currently used by the page_pool and drivers. By shifting those components to use netmem instead of ‘struct page’ directly, we open the possibility for support of non-struct paged memory in the net stack. This abstraction will be used to support these currently undergoing efforts:
- dma-buf memory used in devmem TCP.
- io uring user memory used in zero copy io uring.
But also can be considered in other use cases, such as:
- Storage/NVMe/SSD memory.
- ‘remote’ memory (DRAM that happens to be not on the current host).
- GPU virtual addresses (not dma-buf).
- etc?
Additionally, we would like to talk about real world application results for the io uring zero copy. We would like to share performance results for our disaggregated storage service application utilizing io uring zero copy, as well as challenges in adopting the kernel feature.
Additionally we’d like to talk about the recently merged queue-management ndos:
https://patchwork.kernel.org/project/netdevbpf/list/?series=849760&state=*
The initial version of the queue management ndos allows the core net stack restart individual RX queues on a net device. This is useful for triggering a refill of the RX queue buffers after re configuring the RX queue. We plan to use these ndos to restart RX queues after they have been reconfigured for devmem TCP or io uring ZC. Additionally there are proposals to extend the queue management ndos to be the basic ops that execute various ethtool configurations as well as ndo_open/ndo_stop.
Recent News
Bronze Sponsor, NVIDIA
[Tue, 09, Jul. 2024]
Bronze Sponsor, Fastly
[Tue, 25, Jun. 2024]
Fireside Chat with Martin Casado
[Wed, 19, Jun. 2024]
Bronze Sponsor, Viasat
[Wed, 05, Jun. 2024]
Bronze Sponsor, secunet
[Mon, 03, Jun. 2024]
Important Dates
Closing of CFS | April 22nd |
Notification by | May 21st |
Conference dates | July 15th-19th |