From: Wei Wang <wei.w.wang@intel.com>
To: "Marc-André Lureau" <marcandre.lureau@gmail.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"virtio-comment@lists.oasis-open.org"
<virtio-comment@lists.oasis-open.org>,
"mst@redhat.com" <mst@redhat.com>,
"stefanha@redhat.com" <stefanha@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] *** Vhost-pci RFC v2 ***
Date: Fri, 02 Sep 2016 00:26:40 +0800 [thread overview]
Message-ID: <57C856C0.40302@intel.com> (raw)
In-Reply-To: <CAJ+F1CLf0CmrbAt1QnkT-KaQPuMD+tpiDGayweH=ZNgmco-89Q@mail.gmail.com>
On 08/31/2016 08:30 PM, Marc-André Lureau wrote:
> Hi
>
> On Sun, Jun 19, 2016 at 10:19 AM Wei Wang <wei.w.wang@intel.com
> <mailto:wei.w.wang@intel.com>> 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.
>
>
> Before I send a more complete review of the spec, I have a few overall
> questions:
>
Hi Marc-André, thanks for joining the reviewing process :)
> - this patch is for the virtio spec? Why not patch the spec directly
> (https://tools.oasis-open.org/version-control/browse/wsvn/virtio/trunk/)
> I expect several rfc iterations, so perhaps it's easier as plain text
> file for now (as a qemu patch to doc/specs). btw, I would limit the
> audience at qemu-devel for now.
Yes. A part of the patch is for the virtio spec. I will separate the
patches (please see the next response).
I have the qemu-devel and virtio mailinglist kept here.
> - I think the virtio spec should limit itself to the hw device
> description, and virtioq messages. Not the backend implementation (the
> ipc details, client/server etc).
Agree. I will separate the device spec description from the protocol
description. The device description will be made a virtio spec patch,
and the protocol description will be made a qemu patch to doc/specs.
> - If it could be made not pci-specific, a better name for the device
> could be simply "driver": the driver of a virtio device. Or the
> "slave" in vhost-user terminology - consumer of virtq. I think you
> prefer to call it "backend" in general, but I find it more confusing.
Not really. A virtio device has it own driver (e.g. a virtio-net driver
for a virtio-net device). A vhost-pci device plays the role of a backend
(just like vhost_net, vhost_user) for a virtio device. If we use the
"device/driver" naming convention, the vhost-pci device is part of the
"device". But I actually prefer to use "frontend/backend" :) If we check
the QEMU's doc/specs/vhost-user.txt, it also uses "backend" to describe.
> - regarding the socket protocol, why not reuse vhost-user? it seems to
> me it supports most of what you need and more (like interrupt,
> migrations, protocol features, start/stop queues). Some of the
> extensions, like uuid, could be beneficial to vhost-user too.
Right. We recently changed the plan - trying to make it (the vhost-pci
protocol) an extension of the vhost-user protocol.
> - Why is it required or beneficial to support multiple "frontend"
> devices over the same "vhost-pci" device? It could simplify things if
> it was a single device. If necessary, that could also be interesting
> as a vhost-user extension.
We call it "multiple backend functionalities" (e.g. vhost-pci-net,
vhost-pci-scsi..). A vhost-pci driver contains multiple such backend
functionalities, because in this way they can reuse (share) the same
memory mapping. To be more precise, a vhost-pci device supplies the
memory of a frontend VM, and all the backend functionalities need to
access the same frontend VM memory, so we consolidate them into one
vhost-pci driver to use one vhost-pci device.
> - no interrupt support, I suppose you mainly looked at poll-based net
> devices
Yes. But I think it's also possible to add the interrupt support. For
example, we can use ioeventfd (or hypercall) to inject interrupts to the
fontend VM after transmitting packets.
> - when do you expect to share a wip/rfc implementation?
Probably in October (next month). I think it also depends on the
discussions here :)
Best,
Wei
next prev parent reply other threads:[~2016-09-01 8:20 UTC|newest]
Thread overview: 41+ 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 ` [Qemu-devel] " Wei Wang
2016-06-19 14:14 ` [PATCH] Vhost-pci RFC v2: a new virtio device for inter-VM communication Wei Wang
2016-06-19 14:14 ` [Qemu-devel] " Wei Wang
2016-08-29 15:27 ` [virtio-comment] " Stefan Hajnoczi
2016-08-29 15:27 ` [Qemu-devel] " Stefan Hajnoczi
2016-06-27 2:01 ` [virtio-comment] [PATCH] *** Vhost-pci RFC v2 *** Wang, Wei W
2016-06-27 2:01 ` [Qemu-devel] " Wang, Wei W
2016-08-29 15:24 ` Stefan Hajnoczi
2016-08-29 15:24 ` [Qemu-devel] " Stefan Hajnoczi
2016-08-29 15:42 ` Michael S. Tsirkin
2016-08-29 15:42 ` [Qemu-devel] " Michael S. Tsirkin
2016-08-30 10:08 ` Wang, Wei W
2016-08-30 10:08 ` [Qemu-devel] " Wang, Wei W
2016-08-30 11:10 ` Michael S. Tsirkin
2016-08-30 11:10 ` [Qemu-devel] " Michael S. Tsirkin
2016-08-30 12:59 ` Wang, Wei W
2016-08-30 12:59 ` [Qemu-devel] " Wang, Wei W
2016-08-31 16:07 ` Stefan Hajnoczi
2016-09-01 16:27 ` [virtio-comment] " Wei Wang
2016-09-01 16:27 ` Wei Wang
2016-09-02 13:26 ` Stefan Hajnoczi
2016-09-03 13:36 ` Wang, Wei W
2016-09-03 13:36 ` Wang, Wei W
2016-09-05 8:56 ` [virtio-comment] " Marc-André Lureau
2016-09-05 8:56 ` Marc-André Lureau
2016-09-06 17:16 ` Stefan Hajnoczi
2016-09-07 12:27 ` Wang, Wei W
2016-09-07 12:27 ` Wang, Wei W
2016-08-29 15:41 ` Michael S. Tsirkin
2016-08-29 15:41 ` [Qemu-devel] " Michael S. Tsirkin
2016-08-30 10:07 ` Wang, Wei W
2016-08-30 10:07 ` [Qemu-devel] " Wang, Wei W
2016-08-31 12:30 ` [virtio-comment] Re: [Qemu-devel] " Marc-André Lureau
2016-08-31 12:30 ` Marc-André Lureau
2016-09-01 16:26 ` Wei Wang [this message]
2016-09-01 8:49 ` Marc-André Lureau
2016-09-01 12:13 ` [Qemu-devel] [virtio-comment] " Wei Wang
2016-09-01 13:05 ` Marc-André Lureau
2016-09-02 1:29 ` Wei Wang
2016-09-02 8:15 ` 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=57C856C0.40302@intel.com \
--to=wei.w.wang@intel.com \
--cc=marcandre.lureau@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=virtio-comment@lists.oasis-open.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.