From: Wei Wang <wei.w.wang@intel.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] vhost-pci and virtio-vhost-user
Date: Fri, 12 Jan 2018 14:44:00 +0800 [thread overview]
Message-ID: <5A585930.1030009@intel.com> (raw)
In-Reply-To: <CAJSP0QWyaE8qUGMgcpzB460Y=kpX4VDfqFWm-CWmmX4X3nmRMQ@mail.gmail.com>
On 01/11/2018 05:56 PM, Stefan Hajnoczi wrote:
> On Thu, Jan 11, 2018 at 6:31 AM, Wei Wang <wei.w.wang@intel.com> wrote:
>> On 01/11/2018 12:14 AM, Stefan Hajnoczi wrote:
>>
>> 2) requires the driver to join the vhost-user negotiation.
> The driver must participate in vhost-user negotiation. The vhost-pci
> patches try to avoid this by taking features bits on the QEMU
> command-line and hardcoding the number of supported virtqueues. That
> doesn't work in production environments because:
> 1. What if the driver inside the VM has been updated and now supports
> different features?
> 2. What if the user isn't allowed to modify the VM configuration?
> 3. What if the management software doesn't expose the feature bits
> command-line parameter?
> 4. What if the number of virtqueues must be different from QEMU's
> default value to limit resource consumption?
>
> Users will find it incovenient to manually enter feature bits for the
> driver they are using. The driver needs to be part of negotiation so
> it can indicate which features are supported, how many virtqueues,
> etc.
>
OK, the advantages of letting the guest join the vhost-user negotiation
sounds convincing to me. Thanks.
>> Without above two, the solution already works well, so I'm not sure why would we need the above two from functionality point of view.
> The "[PATCH v3 0/7] Vhost-pci for inter-VM communication" series is
> incomplete. It is a subset of vhost-user-net and it works only for
> poll-mode drivers. It's the requirements that haven't been covered by
> the vhost-pci patch series yet that make me prefer the
> virtio-vhost-user approach.
>
> The virtio device design needs to be capable of supporting the rest of
> vhost-user functionality in the future. Once the code is merged in
> QEMU and DPDK it will be very difficult to make changes to the virtio
> device.
This is how virtio works. A new feature with a new feature bit. Now, we
let the guest driver join the vhost-user negotiation (including feature
negotiation), the default device/driver feature negotiation is free to use.
I'm thinking if it is worthwhile to do some kind of mediated
passthrough, which passes the selected messages only. Because many
messages are not necessary to be passed down (e.g. VHOST_USER_SEND_RARP
is not needed for simple VM-to-VM communication), though might be safe
to do. I plan to see your full passthrough code first, and see if
changing to mediated passthrough would be simpler.
Best,
Wei
next prev parent reply other threads:[~2018-01-12 6:41 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-10 16:14 [Qemu-devel] vhost-pci and virtio-vhost-user Stefan Hajnoczi
2018-01-11 6:31 ` Wei Wang
2018-01-11 9:56 ` Stefan Hajnoczi
2018-01-12 6:44 ` Wei Wang [this message]
2018-01-12 10:37 ` Stefan Hajnoczi
2018-01-14 3:36 ` Wang, Wei W
2018-01-15 14:02 ` Stefan Hajnoczi
2018-01-11 10:57 ` Jason Wang
2018-01-11 15:23 ` Stefan Hajnoczi
2018-01-12 3:32 ` Jason Wang
2018-01-12 5:20 ` Yang, Zhiyong
2018-01-15 3:09 ` Jason Wang
2018-01-12 10:18 ` Stefan Hajnoczi
2018-01-15 6:56 ` Jason Wang
2018-01-15 7:59 ` Wei Wang
2018-01-15 8:34 ` Jason Wang
2018-01-15 10:43 ` Wei Wang
2018-01-16 5:33 ` Jason Wang
2018-01-17 8:44 ` Wei Wang
2018-01-15 13:56 ` Stefan Hajnoczi
2018-01-16 5:41 ` Jason Wang
2018-01-18 10:51 ` Stefan Hajnoczi
2018-01-18 11:51 ` Jason Wang
2018-01-19 17:20 ` Stefan Hajnoczi
2018-01-22 3:54 ` Jason Wang
2018-01-23 11:52 ` Stefan Hajnoczi
2018-01-15 7:56 ` Wei Wang
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=5A585930.1030009@intel.com \
--to=wei.w.wang@intel.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.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 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.