Re: [RFC PATCH v8 00/19] virtio/vsock: introduce SOCK_SEQPACKET support
From: Arseny Krasnov <hidden>
Date: 2021-04-22 11:42:59
Also in:
kvm, lkml
On 22.04.2021 13:48, Stefano Garzarella wrote:
On Thu, Apr 22, 2021 at 01:29:54PM +0300, Arseny Krasnov wrote:quoted
On 22.04.2021 13:02, Stefano Garzarella wrote:quoted
On Thu, Apr 22, 2021 at 12:40:17PM +0300, Arseny Krasnov wrote:quoted
On 22.04.2021 11:46, Stefano Garzarella wrote:quoted
On Wed, Apr 21, 2021 at 06:06:28PM +0300, Arseny Krasnov wrote:quoted
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 forYep, 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.quoted
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