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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 13.05.2021 17:10, Stefano Garzarella wrote:
> Hi Arseny,
>
> On Sat, May 08, 2021 at 07:30:23PM +0300, Arseny Krasnov wrote:
>> 	This patchset implements support of SOCK_SEQPACKET for virtio
>> transport.
>> 	As SOCK_SEQPACKET guarantees to save record boundaries, so to
>> do it, new bit for field 'flags' was added: SEQ_EOR. This bit is
>> set to 1 in last RW packet of message.
>> 	Now as  packets of one socket are not reordered neither on vsock
>> nor on vhost transport layers, such bit allows to restore original
>> message on receiver's side. If user's buffer is smaller than message
>> length, when all out of size data is dropped.
>> 	Maximum length of datagram is not limited as in stream socket,
>> because same credit logic is used. Difference with stream socket is
>> that user is not woken up until whole record is received or error
>> occurred. Implementation also supports 'MSG_TRUNC' flags.
>> 	Tests also implemented.
>>
>> 	Thanks to stsp2@xxxxxxxxx for encouragements and initial design
>> recommendations.
>>
>> Arseny Krasnov (19):
>>  af_vsock: update functions for connectible socket
>>  af_vsock: separate wait data loop
>>  af_vsock: separate receive data loop
>>  af_vsock: implement SEQPACKET receive loop
>>  af_vsock: implement send logic for SEQPACKET
>>  af_vsock: rest of SEQPACKET support
>>  af_vsock: update comments for stream sockets
>>  virtio/vsock: set packet's type in virtio_transport_send_pkt_info()
>>  virtio/vsock: simplify credit update function API
>>  virtio/vsock: defines and constants for SEQPACKET
>>  virtio/vsock: dequeue callback for SOCK_SEQPACKET
>>  virtio/vsock: add SEQPACKET receive logic
>>  virtio/vsock: rest of SOCK_SEQPACKET support
>>  virtio/vsock: enable SEQPACKET for transport
>>  vhost/vsock: enable SEQPACKET for transport
>>  vsock/loopback: enable SEQPACKET for transport
>>  vsock_test: add SOCK_SEQPACKET tests
>>  virtio/vsock: update trace event for SEQPACKET
>>  af_vsock: serialize writes to shared socket
>>
>> drivers/vhost/vsock.c                        |  42 +-
>> include/linux/virtio_vsock.h                 |   9 +
>> include/net/af_vsock.h                       |   8 +
>> .../events/vsock_virtio_transport_common.h   |   5 +-
>> include/uapi/linux/virtio_vsock.h            |   9 +
>> net/vmw_vsock/af_vsock.c                     | 417 +++++++++++------
>> net/vmw_vsock/virtio_transport.c             |  25 +
>> net/vmw_vsock/virtio_transport_common.c      | 129 ++++-
>> net/vmw_vsock/vsock_loopback.c               |  11 +
>> tools/testing/vsock/util.c                   |  32 +-
>> tools/testing/vsock/util.h                   |   3 +
>> tools/testing/vsock/vsock_test.c             |  63 +++
>> 12 files changed, 594 insertions(+), 159 deletions(-)
>>
>> v8 -> v9:
>> General changelog:
>> - see per patch change log.
>>
> I reviewed this series and left some comments.
>
> Before remove the RFC tag, please check that all the commit messages 
> contains the right information.
>
> Also, I recommend you take a look on how the other commits in the Linux 
> tree are written because the commits in this series look like todo 
> lists.
> For RFC could be fine, but for the final version it would be better to 
> rewrite them following the advice written here: 
> Documentation/process/submitting-patches.rst
Thank You for review, ok, i'll check it
>
> Thanks,
> Stefano
>
>



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux