From: Stefano Garzarella <sgarzare@redhat.com>
To: Arseny Krasnov <arseny.krasnov@kaspersky.com>
Cc: Andra Paraschiv <andraprs@amazon.com>,
kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
netdev@vger.kernel.org, stsp2@yandex.ru,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, oxffffaa@gmail.com,
Norbert Slusarek <nslusarek@gmx.net>,
Stefan Hajnoczi <stefanha@redhat.com>,
Colin Ian King <colin.king@canonical.com>,
Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Jorgen Hansen <jhansen@vmware.com>
Subject: Re: [RFC PATCH v9 00/19] virtio/vsock: introduce SOCK_SEQPACKET support
Date: Thu, 13 May 2021 16:10:18 +0200 [thread overview]
Message-ID: <20210513141018.pqsmb5wqbjrbwwho@steredhat> (raw)
In-Reply-To: <20210508163027.3430238-1-arseny.krasnov@kaspersky.com>
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@yandex.ru 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
Thanks,
Stefano
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
prev parent reply other threads:[~2021-05-13 14:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210508163027.3430238-1-arseny.krasnov@kaspersky.com>
[not found] ` <20210508163317.3431119-1-arseny.krasnov@kaspersky.com>
2021-05-13 11:37 ` [RFC PATCH v9 04/19] af_vsock: implement SEQPACKET receive loop Stefano Garzarella
[not found] ` <20210508163350.3431361-1-arseny.krasnov@kaspersky.com>
2021-05-13 11:42 ` [RFC PATCH v9 06/19] af_vsock: rest of SEQPACKET support Stefano Garzarella
[not found] ` <20210508163508.3431890-1-arseny.krasnov@kaspersky.com>
2021-05-13 11:45 ` [RFC PATCH v9 10/19] virtio/vsock: defines and constants for SEQPACKET Stefano Garzarella
[not found] ` <20210508163523.3431999-1-arseny.krasnov@kaspersky.com>
2021-05-13 11:58 ` [RFC PATCH v9 11/19] virtio/vsock: dequeue callback for SOCK_SEQPACKET Stefano Garzarella
2021-05-13 12:18 ` Stefano Garzarella
[not found] ` <20210508163544.3432132-1-arseny.krasnov@kaspersky.com>
2021-05-13 12:14 ` [RFC PATCH v9 12/19] virtio/vsock: add SEQPACKET receive logic Stefano Garzarella
[not found] ` <20210508163558.3432246-1-arseny.krasnov@kaspersky.com>
2021-05-13 12:27 ` [RFC PATCH v9 13/19] virtio/vsock: rest of SOCK_SEQPACKET support Stefano Garzarella
2021-05-13 13:03 ` Stefano Garzarella
[not found] ` <20210508163617.3432380-1-arseny.krasnov@kaspersky.com>
2021-05-13 12:49 ` [RFC PATCH v9 14/19] virtio/vsock: enable SEQPACKET for transport Stefano Garzarella
[not found] ` <20210508163634.3432505-1-arseny.krasnov@kaspersky.com>
2021-05-13 13:44 ` [RFC PATCH v9 15/19] vhost/vsock: " Stefano Garzarella
[not found] ` <20210508163704.3432731-1-arseny.krasnov@kaspersky.com>
2021-05-13 13:47 ` [RFC PATCH v9 17/19] vsock_test: add SOCK_SEQPACKET tests Stefano Garzarella
[not found] ` <20210508163738.3432975-1-arseny.krasnov@kaspersky.com>
2021-05-13 14:01 ` [RFC PATCH v9 19/19] af_vsock: serialize writes to shared socket Stefano Garzarella
2021-05-13 14:46 ` Stefano Garzarella
[not found] ` <a0cd1806-22d1-8197-50dc-b63a43f33807@kaspersky.com>
2021-05-13 15:41 ` Stefano Garzarella
2021-05-13 14:10 ` Stefano Garzarella [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210513141018.pqsmb5wqbjrbwwho@steredhat \
--to=sgarzare@redhat.com \
--cc=andraprs@amazon.com \
--cc=arseny.krasnov@kaspersky.com \
--cc=colin.king@canonical.com \
--cc=davem@davemloft.net \
--cc=jhansen@vmware.com \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=nslusarek@gmx.net \
--cc=oxffffaa@gmail.com \
--cc=stefanha@redhat.com \
--cc=stsp2@yandex.ru \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox