[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240913150913.1280238-1-sdf@fomichev.me>
Date: Fri, 13 Sep 2024 08:09:09 -0700
From: Stanislav Fomichev <sdf@...ichev.me>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
Mina Almasry <almasrymina@...gle.com>
Subject: [RFC PATCH net-next v1 0/4] net: devmem: TX Path
As discussed in [1], sending the preliminary version of the transmit
path. It is somewhat based on [2], but at this point probably nothing
of the original patch remains. Since we are not using fake pages
anymore, I had to do the following:
1. Add new bind_tx netlink to attach dmabufs to the netdev and export id
2. Ask users to pass that id in SCM_DEVMEM_DMABUF sendmsg
3. The payload chunks are referenced via zero-based iov_base and iov_len
Note that this series should be applied on top of [3].
1: https://lore.kernel.org/netdev/CAHS8izM8e4OhOFjRm9cF2LuN=ePWPgd-EY09fZHSybgcOaH4MA@mail.gmail.com/
2: https://lore.kernel.org/netdev/20230710223304.1174642-8-almasrymina@google.com/
3: https://lore.kernel.org/netdev/ZuNgklyeerU5BjqG@mini-arch/T/#t
Cc: Mina Almasry <almasrymina@...gle.com>
Stanislav Fomichev (4):
net: devmem: Implement TX path
selftests: ncdevmem: Implement client side
selftests: ncdevmem: Implement loopback mode
selftests: ncdevmem: Add TX side to the test
Documentation/netlink/specs/netdev.yaml | 13 +
include/linux/skbuff.h | 16 +-
include/linux/skbuff_ref.h | 17 +
include/net/devmem.h | 1 +
include/net/sock.h | 1 +
include/uapi/linux/netdev.h | 1 +
kernel/dma/mapping.c | 18 +-
net/core/datagram.c | 52 ++-
net/core/devmem.c | 73 ++++-
net/core/devmem.h | 28 +-
net/core/netdev-genl-gen.c | 13 +
net/core/netdev-genl-gen.h | 1 +
net/core/netdev-genl.c | 65 +++-
net/core/skbuff.c | 21 +-
net/core/sock.c | 5 +
net/ipv4/tcp.c | 38 ++-
net/vmw_vsock/virtio_transport_common.c | 2 +-
tools/include/uapi/linux/netdev.h | 1 +
tools/testing/selftests/drivers/net/devmem.py | 37 ++-
.../testing/selftests/drivers/net/ncdevmem.c | 307 ++++++++++++++++--
20 files changed, 651 insertions(+), 59 deletions(-)
create mode 120000 include/net/devmem.h
--
2.46.0
Powered by blists - more mailing lists