[PATCH net-next v4 00/12] vsock/virtio: continue MSG_ZEROCOPY support
From: Arseniy Krasnov
Date: Tue Oct 10 2023 - 15:23:21 EST
Hello,
this patchset contains second and third parts of another big patchset
for MSG_ZEROCOPY flag support:
https://lore.kernel.org/netdev/20230701063947.3422088-1-AVKrasnov@xxxxxxxxxxxxxx/
During review of this series, Stefano Garzarella <sgarzare@xxxxxxxxxx>
suggested to split it for three parts to simplify review and merging:
1) virtio and vhost updates (for fragged skbs) (merged to net-next, see
link below)
2) AF_VSOCK updates (allows to enable MSG_ZEROCOPY mode and read
tx completions) and update for Documentation/. <-- this patchset
3) Updates for tests and utils. <-- this patchset
Part 1) was merged:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=71b263e79370348349553ecdf46f4a69eb436dc7
Head for this patchset is:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=19537e125cc7cf2da43a606f5bcebbe0c9aea4cc
Link to v1:
https://lore.kernel.org/netdev/20230922052428.4005676-1-avkrasnov@xxxxxxxxxxxxxxxxx/
Link to v2:
https://lore.kernel.org/netdev/20230930210308.2394919-1-avkrasnov@xxxxxxxxxxxxxxxxx/
Link to v3:
https://lore.kernel.org/netdev/20231007172139.1338644-1-avkrasnov@xxxxxxxxxxxxxxxxx/
Changelog:
v1 -> v2:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.
v2 -> v3:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.
v3 -> v4:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.
Arseniy Krasnov (12):
vsock: set EPOLLERR on non-empty error queue
vsock: read from socket's error queue
vsock: check for MSG_ZEROCOPY support on send
vsock: enable SOCK_SUPPORT_ZC bit
vhost/vsock: support MSG_ZEROCOPY for transport
vsock/virtio: support MSG_ZEROCOPY for transport
vsock/loopback: support MSG_ZEROCOPY for transport
vsock: enable setting SO_ZEROCOPY
docs: net: description of MSG_ZEROCOPY for AF_VSOCK
test/vsock: MSG_ZEROCOPY flag tests
test/vsock: MSG_ZEROCOPY support for vsock_perf
test/vsock: io_uring rx/tx tests
Documentation/networking/msg_zerocopy.rst | 13 +-
drivers/vhost/vsock.c | 7 +
include/linux/socket.h | 1 +
include/net/af_vsock.h | 7 +
include/uapi/linux/vm_sockets.h | 17 +
net/vmw_vsock/af_vsock.c | 63 +++-
net/vmw_vsock/virtio_transport.c | 7 +
net/vmw_vsock/vsock_loopback.c | 6 +
tools/testing/vsock/.gitignore | 1 +
tools/testing/vsock/Makefile | 11 +-
tools/testing/vsock/msg_zerocopy_common.c | 87 ++++++
tools/testing/vsock/msg_zerocopy_common.h | 18 ++
tools/testing/vsock/util.c | 133 ++++++++
tools/testing/vsock/util.h | 5 +
tools/testing/vsock/vsock_perf.c | 80 ++++-
tools/testing/vsock/vsock_test.c | 16 +
tools/testing/vsock/vsock_test_zerocopy.c | 358 ++++++++++++++++++++++
tools/testing/vsock/vsock_test_zerocopy.h | 15 +
tools/testing/vsock/vsock_uring_test.c | 342 +++++++++++++++++++++
19 files changed, 1170 insertions(+), 17 deletions(-)
create mode 100644 tools/testing/vsock/msg_zerocopy_common.c
create mode 100644 tools/testing/vsock/msg_zerocopy_common.h
create mode 100644 tools/testing/vsock/vsock_test_zerocopy.c
create mode 100644 tools/testing/vsock/vsock_test_zerocopy.h
create mode 100644 tools/testing/vsock/vsock_uring_test.c
--
2.25.1