[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0d0e9b6e-fbdb-fd63-3f93-8a7249711dfc@sberdevices.ru>
Date: Fri, 28 Jul 2023 11:05:56 +0300
From: Arseniy Krasnov <avkrasnov@...rdevices.ru>
To: "Michael S. Tsirkin" <mst@...hat.com>
CC: Stefan Hajnoczi <stefanha@...hat.com>,
Stefano Garzarella <sgarzare@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Bobby Eshleman <bobby.eshleman@...edance.com>,
<kvm@...r.kernel.org>, <virtualization@...ts.linux-foundation.org>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<kernel@...rdevices.ru>, <oxffffaa@...il.com>
Subject: Re: [PATCH net-next v4 0/4] vsock/virtio/vhost: MSG_ZEROCOPY
preparations
On 28.07.2023 11:00, Arseniy Krasnov wrote:
>
>
> 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@sberdevices.ru/
>>
>> 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.
"default environment" is vanilla Qemu where queue size is 128 elements. To test
this logic i rebuild Qemu with for example queue of 8 elements.
Thanks, Arseniy
>
>> - 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@...hat.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@sberdevices.ru/
>>> Link to v2:
>>> https://lore.kernel.org/netdev/20230718180237.3248179-1-AVKrasnov@sberdevices.ru/
>>> Link to v3:
>>> https://lore.kernel.org/netdev/20230720214245.457298-1-AVKrasnov@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
>>
Powered by blists - more mailing lists