[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bfefdd94-a84f-8bed-331e-274654a7426f@kaspersky.com>
Date: Thu, 22 Apr 2021 12:40:17 +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 11:46, Stefano Garzarella wrote:
> On Wed, Apr 21, 2021 at 06:06:28PM +0300, Arseny Krasnov wrote:
>> On 21.04.2021 12:52, Stefano Garzarella wrote:
>>> On Tue, Apr 13, 2021 at 03:39:51PM +0300, Arseny Krasnov wrote:
>>>> v7 -> v8:
>>>> General changelog:
>>>> - whole idea is simplified: channel now considered reliable,
>>>> so SEQ_BEGIN, SEQ_END, 'msg_len' and 'msg_id' were removed.
>>>> Only thing that is used to mark end of message is bit in
>>>> 'flags' field of packet header: VIRTIO_VSOCK_SEQ_EOR. Packet
>>>> with such bit set to 1 means, that this is last packet of
>>>> message.
>>>>
>>>> - POSIX MSG_EOR support is removed, as there is no exact
>>>> description how it works.
>>> It would be nice to support it, I'll try to see if I can find anything.
>>>
>>> I just reviewed the series. I think the most important things to fix are
>>> the `seqpacket_allow` stored in the struct virtio_transport that is
>>> wrong IMHO, and use cpu_to_le32()/le32_to_cpu() to access the flags.
>> 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
stream sockets, the only difference is that buffers are mergeable
until previous EOR(e.g. previous message) bit is found in rx queue.
>
> If we have that support, I think we could reuse it here as well, but it
> might be a next step.
>
> Thanks,
> Stefano
>
>
Powered by blists - more mailing lists