[PATCH net-next v9 0/4] vsock/virtio/vhost: MSG_ZEROCOPY preparations

From: Arseniy Krasnov
Date: Sat Sep 16 2023 - 09:17:51 EST


Hello,

this patchset is first of three 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) <--- this patchset
2) AF_VSOCK updates (allows to enable MSG_ZEROCOPY mode and read
tx completions) and update for Documentation/.
3) Updates for tests and utils.

This series enables handling of fragged skbs in virtio and vhost parts.
Newly logic won't be triggered, because SO_ZEROCOPY options is still
impossible to enable at this moment (next bunch of patches from big
set above will enable it).

I've included changelog to some patches anyway, because there were some
comments during review of last big patchset from the link above.

Head for this patchset is:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=f2fa1c812c91e99d0317d1fc7d845e1e05f39716

Link to v1:
https://lore.kernel.org/netdev/20230717210051.856388-1-AVKrasnov@xxxxxxxxxxxxxx/
Link to v2:
https://lore.kernel.org/netdev/20230718180237.3248179-1-AVKrasnov@xxxxxxxxxxxxxx/
Link to v3:
https://lore.kernel.org/netdev/20230720214245.457298-1-AVKrasnov@xxxxxxxxxxxxxx/
Link to v4:
https://lore.kernel.org/netdev/20230727222627.1895355-1-AVKrasnov@xxxxxxxxxxxxxx/
Link to v5:
https://lore.kernel.org/netdev/20230730085905.3420811-1-AVKrasnov@xxxxxxxxxxxxxx/
Link to v6:
https://lore.kernel.org/netdev/20230814212720.3679058-1-AVKrasnov@xxxxxxxxxxxxxx/
Link to v7:
https://lore.kernel.org/netdev/20230827085436.941183-1-avkrasnov@xxxxxxxxxxxxxxxxx/
Link to v8:
https://lore.kernel.org/netdev/20230911202234.1932024-1-avkrasnov@xxxxxxxxxxxxxxxxx/

Changelog:
v3 -> v4:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
v4 -> v5:
* See per-patch changelog after ---.
v5 -> v6:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.
v6 -> v7:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.
v7 -> v8:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.
v8 -> v9:
* Patchset rebased and tested on new HEAD of net-next (see hash above).
* See per-patch changelog after ---.

Arseniy Krasnov (4):
vsock/virtio/vhost: read data from non-linear skb
vsock/virtio: support to send non-linear skb
vsock/virtio: non-linear skb handling for tap
vsock/virtio: MSG_ZEROCOPY flag support

drivers/vhost/vsock.c | 14 +-
include/linux/virtio_vsock.h | 10 +
.../events/vsock_virtio_transport_common.h | 12 +-
net/vmw_vsock/virtio_transport.c | 92 +++++-
net/vmw_vsock/virtio_transport_common.c | 307 ++++++++++++++----
5 files changed, 348 insertions(+), 87 deletions(-)

--
2.25.1