vsock/virtio: continue MSG_ZEROCOPY support
From: | Arseniy Krasnov <avkrasnov-AT-salutedevices.com> | |
To: | Stefan Hajnoczi <stefanha-AT-redhat.com>, Stefano Garzarella <sgarzare-AT-redhat.com>, "David S. Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>, "Michael S. Tsirkin" <mst-AT-redhat.com>, Jason Wang <jasowang-AT-redhat.com>, Bobby Eshleman <bobby.eshleman-AT-bytedance.com> | |
Subject: | [PATCH net-next v3 00/12] vsock/virtio: continue MSG_ZEROCOPY support | |
Date: | Sat, 07 Oct 2023 20:21:27 +0300 | |
Message-ID: | <20231007172139.1338644-1-avkrasnov@salutedevices.com> | |
Cc: | <kvm-AT-vger.kernel.org>, <virtualization-AT-lists.linux-foundation.org>, <netdev-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <kernel-AT-sberdevices.ru>, <oxffffaa-AT-gmail.com>, <avkrasnov-AT-salutedevices.com> | |
Archive-link: | Article |
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-A... During review of this series, Stefano Garzarella <sgarzare@redhat.com> 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/ne... Head for this patchset is: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/ne... Link to v1: https://lore.kernel.org/netdev/20230922052428.4005676-1-a... Link to v2: https://lore.kernel.org/netdev/20230930210308.2394919-1-a... 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 ---. 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 | 12 + 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 | 9 +- tools/testing/vsock/msg_zerocopy_common.h | 92 ++++++ tools/testing/vsock/util.c | 110 +++++++ 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 | 367 ++++++++++++++++++++++ tools/testing/vsock/vsock_test_zerocopy.h | 15 + tools/testing/vsock/vsock_uring_test.c | 350 +++++++++++++++++++++ 18 files changed, 1145 insertions(+), 16 deletions(-) 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