Michael S. Tsirkin
2023-Jul-28 05:45 UTC
[PATCH net-next v4 0/4] vsock/virtio/vhost: MSG_ZEROCOPY preparations
On Fri, Jul 28, 2023 at 01:26:23AM +0300, Arseniy Krasnov wrote:> 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 at sberdevices.ru/overall looks good. Two points I'd like to see addressed: - what's the performance with all these changes - still same? - most systems have a copybreak scheme where buffers smaller than a given size are copied directly. This will address regression you see with small buffers - but need to find that value. we know it's between 4k and 32k :)> During review of this series, Stefano Garzarella <sgarzare at redhat.com> > 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 9d0cd5d25f7d45bce01bbb3193b54ac24b3a60f3 > > Link to v1: > https://lore.kernel.org/netdev/20230717210051.856388-1-AVKrasnov at sberdevices.ru/ > Link to v2: > https://lore.kernel.org/netdev/20230718180237.3248179-1-AVKrasnov at sberdevices.ru/ > Link to v3: > https://lore.kernel.org/netdev/20230720214245.457298-1-AVKrasnov at sberdevices.ru/ > > Changelog: > * 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 | 6 + > net/vmw_vsock/virtio_transport.c | 79 +++++- > net/vmw_vsock/virtio_transport_common.c | 312 ++++++++++++++++++------ > 4 files changed, 330 insertions(+), 81 deletions(-) > > -- > 2.25.1