On 28.07.2023 08:45, Michael S. Tsirkin wrote: > 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@xxxxxxxxxxxxxx/ > > 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 > > >> 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 9d0cd5d25f7d45bce01bbb3193b54ac24b3a60f3 >> >> 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/ >> >> 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 >