|
|
Subscribe / Log in / New account

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



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds