From: "Michael S. Tsirkin" <mst@redhat.com> To: fuguancheng <fuguancheng@bytedance.com> Cc: jasowang@redhat.com, stefanha@redhat.com, sgarzare@redhat.com, davem@davemloft.net, kuba@kernel.org, arseny.krasnov@kaspersky.com, andraprs@amazon.com, colin.king@canonical.com, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/4] Add multi-cid support for vsock driver Date: Mon, 2 Aug 2021 16:21:36 -0400 [thread overview] Message-ID: <20210802162038-mutt-send-email-mst@kernel.org> (raw) In-Reply-To: <20210802120720.547894-1-fuguancheng@bytedance.com> On Mon, Aug 02, 2021 at 08:07:16PM +0800, fuguancheng wrote: > This patchset enables the user to specify additional CIDS for host and > guest when booting up the guest machine. The guest's additional CIDS cannot > be repeated, and can be used to communicate with the host. The user can > also choose to specify a set of additional host cids, which can be > used to communicate with the guest who specify them. The original > CID(VHOST_DEFAULT_CID) is still available for host. The guest cid field is > deleted. > > To ensure that multiple guest CID maps to the same vhost_vsock struct, > a struct called vhost_vsock_ref is added. The function of vhost_vsock_ref > is simply used to allow multiple guest CIDS map to the > same vhost_vsock struct. > > If not specified, the host and guest will now use the first CID specified > in the array for connect operation. If the host or guest wants to use > one specific CID, the bind operation can be performed before the connect > operation so that the vsock_auto_bind operation can be avoided. > > Hypervisors such as qemu needs to be modified to use this feature. The > required changes including at least the following: > 1. Invoke the modified ioctl call with the request code > VHOST_VSOCK_SET_GUEST_CID. Also see struct multi_cid_message for > arguments used in this ioctl call. > 2. Write new arguments to the emulated device config space. > 3. Modify the layout of the data written to the device config space. > See struct virtio_vsock_config for reference. > > I have tested this setup with iperf3. The communication between host > and guest using original CID or additional CIDS worked normally. > Not tested in extreme conditions where memory is insufficient. > > Linux kernel newbies here, any suggestions are welcomed. > Thanks in advance! Could you supply a bit info about the motivation for this feature? I wonder whether it's be better to have multiple VQs instead of tweaking the CID in the message header. > fuguancheng (4): > VSOCK DRIVER: Add multi-cid support for guest > VSOCK DRIVER: support communication using additional guest cid > VSOCK DRIVER: support specifying additional cids for host > VSOCK DRIVER: support communication using host additional cids > > drivers/vhost/vsock.c | 338 ++++++++++++++++++++++++++++---- > include/net/af_vsock.h | 5 + > include/uapi/linux/vhost.h | 9 + > include/uapi/linux/virtio_vsock.h | 8 +- > net/vmw_vsock/af_vsock.c | 28 ++- > net/vmw_vsock/virtio_transport.c | 129 +++++++++++- > net/vmw_vsock/virtio_transport_common.c | 5 +- > net/vmw_vsock/vsock_loopback.c | 8 + > 8 files changed, 471 insertions(+), 59 deletions(-) > > -- > 2.11.0 > >
prev parent reply other threads:[~2021-08-02 20:21 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-02 12:07 fuguancheng 2021-08-02 12:07 ` [PATCH 1/4] VSOCK DRIVER: Add multi-cid support for guest fuguancheng 2021-08-02 20:10 ` Michael S. Tsirkin 2021-08-02 20:11 ` Michael S. Tsirkin 2021-08-02 20:20 ` Michael S. Tsirkin 2021-08-02 12:07 ` [PATCH 2/4] VSOCK DRIVER: support communication using additional guest cid fuguancheng 2021-08-02 20:13 ` Michael S. Tsirkin 2021-08-02 12:07 ` [PATCH 3/4] VSOCK DRIVER: support specifying additional cids for host fuguancheng 2021-08-02 12:07 ` [PATCH 4/4] VSOCK DRIVER: support communication using host additional cids fuguancheng 2021-08-02 13:42 ` [PATCH 0/4] Add multi-cid support for vsock driver Stefano Garzarella [not found] ` <CAKv9dH5KbN25m8_Wmej9WXgJWheRV5S-tyPCdjUHHEFoWk-V1w@mail.gmail.com> 2021-08-04 15:23 ` [External] " Stefano Garzarella 2021-08-02 20:21 ` Michael S. Tsirkin [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=20210802162038-mutt-send-email-mst@kernel.org \ --to=mst@redhat.com \ --cc=andraprs@amazon.com \ --cc=arseny.krasnov@kaspersky.com \ --cc=colin.king@canonical.com \ --cc=davem@davemloft.net \ --cc=fuguancheng@bytedance.com \ --cc=jasowang@redhat.com \ --cc=kuba@kernel.org \ --cc=kvm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=netdev@vger.kernel.org \ --cc=sgarzare@redhat.com \ --cc=stefanha@redhat.com \ --cc=virtualization@lists.linux-foundation.org \ --subject='Re: [PATCH 0/4] Add multi-cid support for vsock driver' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).