All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH net-next v1 0/4] net: devmem: TX Path
@ 2024-09-13 15:09 Stanislav Fomichev
  2024-09-13 15:09 ` [RFC PATCH net-next v1 1/4] net: devmem: Implement TX path Stanislav Fomichev
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Stanislav Fomichev @ 2024-09-13 15:09 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, kuba, pabeni, Mina Almasry

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@google.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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-09-27  1:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-13 15:09 [RFC PATCH net-next v1 0/4] net: devmem: TX Path Stanislav Fomichev
2024-09-13 15:09 ` [RFC PATCH net-next v1 1/4] net: devmem: Implement TX path Stanislav Fomichev
2024-09-26 20:50   ` Mina Almasry
2024-09-27  1:33     ` Stanislav Fomichev
2024-09-13 15:09 ` [RFC PATCH net-next v1 2/4] selftests: ncdevmem: Implement client side Stanislav Fomichev
2024-09-13 15:09 ` [RFC PATCH net-next v1 3/4] selftests: ncdevmem: Implement loopback mode Stanislav Fomichev
2024-09-13 15:09 ` [RFC PATCH net-next v1 4/4] selftests: ncdevmem: Add TX side to the test Stanislav Fomichev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.