Re: [RFC PATCH v8 00/19] virtio/vsock: introduce SOCK_SEQPACKET support

Arseny Krasnov
2021-04-22T10:30:01Z

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.

>
> Thanks,
> Stefano
>
>