--- v18
+++ v20
@@ -1,3 +1,55 @@
+v20: https://patchwork.kernel.org/project/netdevbpf/list/?series=879373&state=*
+====
+
+v20 aims to resolve a couple of bug reports against v19, and addresses
+some review comments around the page_pool_check_memory_provider
+mechanism.
+
+Major changes:
+- Test edge cases such as header split disabled in selftest.
+- Change `offset = 0` back to `offset = offset - start` to resolve issue
+ found in RX path by Taehee (thanks!)
+- Address a few comments around page_pool_check_memory_provider() from
+ Pavel & Jakub.
+- Removed some unnecessary includes across various patches in the
+ series.
+- Removed unnecessary EXPORT_SYMBOL(page_pool_mem_providers) (Jakub).
+- Fix regression caused by incorrect dev_get_max_mp_channel check, along
+ with rename (Jakub).
+
+Full devmem TCP changes including the full GVE driver implementation is
+here:
+
+https://github.com/mina/linux/commits/tcpdevmem-v20/
+
+v19: https://patchwork.kernel.org/project/netdevbpf/list/?series=876852&state=*
+====
+
+v18 got a thorough review (thanks!), and this iteration addresses the
+feedback.
+
+Major changes:
+- Prevent deactivating mp bound queues.
+- Prevent installing xdp on mp bound netdevs, or installing mps on xdp
+ installed netdevs.
+- Fix corner cases in netlink API vis-a-vis missing attributes.
+- Iron out the unreadable netmem driver support story. To be honest, the
+ conversation with Jakub & Pavel got a bit confusing for me. I've
+ implemented an approach in this set that makes sense to me, and
+ AFAICT, addresses the requirements. It may be good as-is, or it
+ may be a conversation starter/continuer. To be honest IMO there
+ are many ways to skin this cat and I don't see an extremely strong
+ reason to go for one approach over another. Here is one approach you
+ may like.
+- Don't reset niov dma_addr on allocation & free.
+- Add some tests to the selftest that catches some of the issues around
+ missing netlink attributes or deactivating mp-bound queues.
+
+Full devmem TCP changes including the full GVE driver implementation is
+here:
+
+https://github.com/mina/linux/commits/tcpdevmem-v19/
+
v18: https://patchwork.kernel.org/project/netdevbpf/list/?series=874848&state=*
====
@@ -612,12 +664,11 @@
-Mina Almasry (14):
+Mina Almasry (13):
netdev: add netdev_rx_queue_restart()
net: netdev netlink api to bind dma-buf to a net device
netdev: support binding dma-buf to netdevice
netdev: netdevice devmem allocator
- page_pool: move dmaddr helpers to .c file
page_pool: devmem support
memory-provider: dmabuf devmem memory provider
net: support non paged skb frags
@@ -629,21 +680,22 @@
netdev: add dmabuf introspection
Documentation/netlink/specs/netdev.yaml | 61 +++
- Documentation/networking/devmem.rst | 269 ++++++++++++
+ Documentation/networking/devmem.rst | 269 +++++++++++
Documentation/networking/index.rst | 1 +
arch/alpha/include/uapi/asm/socket.h | 6 +
arch/mips/include/uapi/asm/socket.h | 6 +
arch/parisc/include/uapi/asm/socket.h | 6 +
arch/sparc/include/uapi/asm/socket.h | 6 +
+ include/linux/netdevice.h | 2 +
include/linux/skbuff.h | 61 ++-
include/linux/skbuff_ref.h | 9 +-
include/linux/socket.h | 1 +
include/net/devmem.h | 128 ++++++
include/net/mp_dmabuf_devmem.h | 44 ++
include/net/netdev_rx_queue.h | 5 +
- include/net/netmem.h | 164 +++++++-
- include/net/page_pool/helpers.h | 42 +-
- include/net/page_pool/types.h | 8 +
+ include/net/netmem.h | 169 ++++++-
+ include/net/page_pool/helpers.h | 39 +-
+ include/net/page_pool/types.h | 22 +-
include/net/sock.h | 2 +
include/net/tcp.h | 5 +-
include/trace/events/page_pool.h | 12 +-
@@ -652,21 +704,22 @@
include/uapi/linux/uio.h | 17 +
net/core/Makefile | 3 +-
net/core/datagram.c | 6 +
- net/core/dev.c | 7 +-
- net/core/devmem.c | 378 +++++++++++++++++
+ net/core/dev.c | 22 +-
+ net/core/devmem.c | 374 +++++++++++++++
net/core/gro.c | 3 +-
net/core/netdev-genl-gen.c | 23 +
net/core/netdev-genl-gen.h | 6 +
- net/core/netdev-genl.c | 111 +++++
- net/core/netdev_rx_queue.c | 74 ++++
- net/core/netmem_priv.h | 36 ++
- net/core/page_pool.c | 147 +++++--
- net/core/page_pool_priv.h | 3 +
- net/core/page_pool_user.c | 4 +
+ net/core/netdev-genl.c | 118 +++++
+ net/core/netdev_rx_queue.c | 81 ++++
+ net/core/netmem_priv.h | 31 ++
+ net/core/page_pool.c | 117 +++--
+ net/core/page_pool_priv.h | 31 ++
+ net/core/page_pool_user.c | 29 ++
net/core/skbuff.c | 77 +++-
net/core/sock.c | 68 +++
+ net/ethtool/common.c | 8 +
net/ipv4/esp4.c | 3 +-
- net/ipv4/tcp.c | 261 +++++++++++-
+ net/ipv4/tcp.c | 261 ++++++++++-
net/ipv4/tcp_input.c | 13 +-
net/ipv4/tcp_ipv4.c | 16 +
net/ipv4/tcp_minisocks.c | 2 +
@@ -676,8 +729,8 @@
tools/include/uapi/linux/netdev.h | 13 +
tools/testing/selftests/net/.gitignore | 1 +
tools/testing/selftests/net/Makefile | 9 +
- tools/testing/selftests/net/ncdevmem.c | 536 ++++++++++++++++++++++++
- 49 files changed, 2563 insertions(+), 121 deletions(-)
+ tools/testing/selftests/net/ncdevmem.c | 587 ++++++++++++++++++++++++
+ 51 files changed, 2683 insertions(+), 121 deletions(-)
create mode 100644 Documentation/networking/devmem.rst
create mode 100644 include/net/devmem.h
create mode 100644 include/net/mp_dmabuf_devmem.h
@@ -687,5 +740,5 @@
create mode 100644 tools/testing/selftests/net/ncdevmem.c
--
-2.46.0.rc2.264.g509ed76dc8-goog
-
+2.46.0.184.g6999bdac58-goog
+