public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Wang, Wei W" <wei.w.wang@intel.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>
Subject: Re: [virtio-comment] [PATCH] *** Vhost-pci RFC v2 ***
Date: Tue, 30 Aug 2016 14:10:45 +0300	[thread overview]
Message-ID: <20160830111045.i4zhau7dpqmx4bmd@redhat.com> (raw)
In-Reply-To: <286AC319A985734F985F78AFA26841F736B2AC8E@shsmsx102.ccr.corp.intel.com>

On Tue, Aug 30, 2016 at 10:08:01AM +0000, Wang, Wei W wrote:
> On Monday, August 29, 2016 11:25 PM, Stefan Hajnoczi wrote:
> > To: Wang, Wei W <wei.w.wang@intel.com>
> > Cc: kvm@vger.kernel.org; qemu-devel@nongnu.org; virtio- 
> > comment@lists.oasis-open.org; mst@redhat.com; pbonzini@redhat.com
> > Subject: Re: [virtio-comment] [PATCH] *** Vhost-pci RFC v2 ***
> > 
> > On Mon, Jun 27, 2016 at 02:01:24AM +0000, Wang, Wei W wrote:
> > > On Sun 6/19/2016 10:14 PM, Wei Wang wrote:
> > > > This RFC proposes a design of vhost-pci, which is a new virtio device type.
> > > > The vhost-pci device is used for inter-VM communication.
> > > >
> > > > Changes in v2:
> > > > 1. changed the vhost-pci driver to use a controlq to send acknowledgement
> > > >    messages to the vhost-pci server rather than writing to the device
> > > >    configuration space;
> > > >
> > > > 2. re-organized all the data structures and the description 
> > > > layout;
> > > >
> > > > 3. removed the VHOST_PCI_CONTROLQ_UPDATE_DONE socket message,
> > which
> > > > is redundant;
> > > >
> > > > 4. added a message sequence number to the msg info structure to 
> > > > identify socket
> > > >    messages, and the socket message exchange does not need to be 
> > > > blocking;
> > > >
> > > > 5. changed to used uuid to identify each VM rather than using the 
> > > > QEMU
> > process
> > > >    id
> > > >
> > >
> > > One more point should be added is that the server needs to send 
> > > periodic socket messages to check if the driver VM is still alive. I 
> > > will add this message support in next version.  (*v2-AR1*)
> > 
> > Either the driver VM could go down or the device VM (server) could go 
> > down.  In both cases there must be a way to handle the situation.
> > 
> > If the server VM goes down it should be possible for the driver VM to 
> > resume either via hotplug of a new device or through messages 
> > reinitializing the dead device when the server VM restarts.
> 
> I got feedbacks from people that the name of device VM and driver VM
> are difficult to remember. Can we use client (or frontend) VM and
> server (or backend) VM in the discussion? I think that would sound
> more straightforward :)

So server is the device VM?

Sounds even more confusing to me :)

frontend/backend is kind of ok if you really
prefer it, but let's add some text that explains how this translates to
device/driver that rest of text uses.

> 
> Here are the two cases:
>  
> Case 1: When the client VM powers off, the server VM will notice that
> the connection is closed (the client calls the socket close()
> function, which notifies the server about the disconnection). Then the
> server will need to remove the vhost-pci device for that client VM.
> When the client VM boots up and connects to the server again, the
> server VM re-establishes the inter-VM communication channel (i.e.
> creating a new vhost-pci device and hot-plugging it to the server VM).

So on reset you really must wait for backend to stop
doing things before you proceed. Closing socket won't
do this, it's asynchronous.


> Case 2: When the server VM powers off, the client doesn't need to do
> anything. We can provide a way in QEMU monitor to re-establish the
> connection. So, when the server boots up again, the admin can let a
> client connect to the server via the client side QEMU monitor.
> 
> Best,
> Wei
> 
> 

You need server to be careful though.
If it leaves the rings in an inconsistent state, there's a problem.

-- 
MST

This publicly archived list offers a means to provide input to the

OASIS Virtual I/O Device (VIRTIO) TC.



In order to verify user consent to the Feedback License terms and

to minimize spam in the list archive, subscription is required

before posting.



Subscribe: virtio-comment-subscribe@lists.oasis-open.org

Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org

List help: virtio-comment-help@lists.oasis-open.org

List archive: https://lists.oasis-open.org/archives/virtio-comment/

Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf

List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists

Committee: https://www.oasis-open.org/committees/virtio/

Join OASIS: https://www.oasis-open.org/join/

  reply	other threads:[~2016-08-30 11:10 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-19 14:14 [PATCH] *** Vhost-pci RFC v2 *** Wei Wang
2016-06-19 14:14 ` [PATCH] Vhost-pci RFC v2: a new virtio device for inter-VM communication Wei Wang
2016-08-29 15:27   ` [virtio-comment] " Stefan Hajnoczi
2016-06-27  2:01 ` [virtio-comment] [PATCH] *** Vhost-pci RFC v2 *** Wang, Wei W
2016-08-29 15:24   ` Stefan Hajnoczi
2016-08-29 15:42     ` Michael S. Tsirkin
2016-08-30 10:08     ` Wang, Wei W
2016-08-30 11:10       ` Michael S. Tsirkin [this message]
2016-08-30 12:59         ` Wang, Wei W
2016-08-31 16:07       ` [Qemu-devel] " Stefan Hajnoczi
2016-09-01 16:27         ` [virtio-comment] " Wei Wang
2016-09-02 13:26           ` Stefan Hajnoczi
2016-09-03 13:36             ` Wang, Wei W
2016-09-05  8:56               ` [virtio-comment] " Marc-André Lureau
2016-09-06 17:16                 ` Stefan Hajnoczi
2016-09-07 12:27                   ` Wang, Wei W
2016-08-29 15:41   ` Michael S. Tsirkin
2016-08-30 10:07     ` Wang, Wei W
2016-08-31 12:30 ` [virtio-comment] Re: [Qemu-devel] " Marc-André Lureau

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=20160830111045.i4zhau7dpqmx4bmd@redhat.com \
    --to=mst@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=wei.w.wang@intel.com \
    /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