Re: [PATCH net-next v4 0/4] vsock/virtio/vhost: MSG_ZEROCOPY preparations
From: Arseniy Krasnov <hidden>
Date: 2023-07-28 08:07:02
Also in:
kvm, lkml
On 28.07.2023 08:45, Michael S. Tsirkin wrote:
On Fri, Jul 28, 2023 at 01:26:23AM +0300, Arseniy Krasnov wrote:quoted
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@sberdevices.ru/ (local)overall looks good. Two points I'd like to see addressed:
Thanks!
- what's the performance with all these changes - still same?
Yes, I perform quick tests and seems result are same. This is because last implemented logic when I compare size of payload against 'num_max' is for "emergency" case and not triggered in default environment. Anyway, I'll perform retest at least in nested guest case.
- 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 :)
I see, You suggest to find this value and add this check for decision to use zerocopy or copy ? Thanks, Arseniy
quoted
During review of this series, Stefano Garzarella [off-list ref] 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@sberdevices.ru/ (local) Link to v2: https://lore.kernel.org/netdev/20230718180237.3248179-1-AVKrasnov@sberdevices.ru/ (local) Link to v3: https://lore.kernel.org/netdev/20230720214245.457298-1-AVKrasnov@sberdevices.ru/ (local) 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