[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <238339aa-83d2-694b-a73b-82c3887b6d86@kaspersky.com>
Date: Thu, 22 Apr 2021 14:41:27 +0300
From: Arseny Krasnov <arseny.krasnov@...persky.com>
To: Stefano Garzarella <sgarzare@...hat.com>
CC: Stefan Hajnoczi <stefanha@...hat.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Jorgen Hansen <jhansen@...are.com>,
Colin Ian King <colin.king@...onical.com>,
Andra Paraschiv <andraprs@...zon.com>,
Norbert Slusarek <nslusarek@....net>,
Alexander Popov <alex.popov@...ux.com>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"stsp2@...dex.ru" <stsp2@...dex.ru>,
"oxffffaa@...il.com" <oxffffaa@...il.com>
Subject: Re: [RFC PATCH v8 00/19] virtio/vsock: introduce SOCK_SEQPACKET
support
On 22.04.2021 13:48, Stefano Garzarella wrote:
> On Thu, Apr 22, 2021 at 01:29:54PM +0300, Arseny Krasnov wrote:
>> On 22.04.2021 13:02, Stefano Garzarella wrote:
>>> On Thu, Apr 22, 2021 at 12:40:17PM +0300, Arseny Krasnov wrote:
>>>> On 22.04.2021 11:46, Stefano Garzarella wrote:
>>>>> On Wed, Apr 21, 2021 at 06:06:28PM +0300, Arseny Krasnov wrote:
>>>>>> Thank You, i'll prepare next version. Main question is: does this
>>>>>> approach(no SEQ_BEGIN, SEQ_END, 'msg_len' and 'msg_id') considered
>>>>>> good? In this case it will be easier to prepare final version, because
>>>>>> is smaller and more simple than previous logic. Also patch to spec
>>>>>> will be smaller.
>>>>> Yes, it's definitely much better than before.
>>>>>
>>>>> The only problem I see is that we add some overhead per fragment
>>>>> (header). We could solve that with the mergeable buffers that Jiang is
>>>>> considering for DGRAM.
>>>> If we are talking about receive, i think, i can reuse merge logic for
>>> Yep, for TX the guest can potentially enqueue a big buffer.
>>> Maybe it's still worth keeping a maximum size and fragmenting as we do
>>> now.
>>>
>>>> stream sockets, the only difference is that buffers are mergeable
>>>> until previous EOR(e.g. previous message) bit is found in rx queue.
>>>>
>>> I got a little lost.
>>> Can you elaborate more?
>> I'm talking about 'virtio_transport_recv_enqueue()': it tries to copy
>>
>> data of new packet to buffer of tail packet in rx queue. In case of
>>
>> SEQPACKET i can reuse it, just adding logic that check EOR bit of
>>
>> tail packet.
> This might be a good idea.
> It doesn't save us the transmitted header though, but at least it saves
> us from queuing it.
> Even if with SEQPACKET I don't expect small packets, since it's the
> driver that divides them and I think it does everything to use the
> maximum available.
>
> Instead the mergeable buffers I was referring to are based on the
> virito-net feature VIRTIO_NET_F_MRG_RXBUF.
> Jiang is investigating whether we can reuse them for DGRAM.
Understand, thank you
>
> Thanks,
> Stefano
>
>
Powered by blists - more mailing lists