From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: benjamin.walker@intel.com, elena.ufimtseva@oracle.com,
tomassetti.andrea@gmail.com,
John G Johnson <john.g.johnson@oracle.com>,
jag.raman@oracle.com, james.r.harris@intel.com,
swapnil.ingle@nutanix.com, konrad.wilk@oracle.com,
yuvalkashtan@gmail.com, felipe@nutanix.com,
qemu-devel@nongnu.org, raphael.norwitz@nutanix.com,
ismael@linux.com, alex.williamson@redhat.com,
Kanth.Ghatraju@oracle.com, marcandre.lureau@redhat.com,
xiuchun.lu@intel.com, Thanos Makatos <thanos.makatos@nutanix.com>,
tina.zhang@intel.com, changpeng.liu@intel.com,
dgilbert@redhat.com
Subject: Re: [PATCH v4] introduce vfio-user protocol specification
Date: Thu, 24 Sep 2020 05:24:53 -0400 [thread overview]
Message-ID: <20200924052051-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200924082132.GJ62770@stefanha-x1.localdomain>
On Thu, Sep 24, 2020 at 09:21:32AM +0100, Stefan Hajnoczi wrote:
> On Tue, Sep 15, 2020 at 07:29:17AM -0700, Thanos Makatos wrote:
> > This patch introduces the vfio-user protocol specification (formerly
> > known as VFIO-over-socket), which is designed to allow devices to be
> > emulated outside QEMU, in a separate process. vfio-user reuses the
> > existing VFIO defines, structs and concepts.
> >
> > It has been earlier discussed as an RFC in:
> > "RFC: use VFIO over a UNIX domain socket to implement device offloading"
> >
> > Signed-off-by: John G Johnson <john.g.johnson@oracle.com>
> > Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
>
> The approach looks promising. It's hard to know what changes will be
> required when this is implemented, so let's not worry about getting
> every detail of the spec right.
>
> Now that there is a spec to start from, the next step is patches
> implementing --device vfio-user-pci,chardev=<chardev> in
> hw/vfio-user/pci.c (mirroring hw/vfio/).
>
> It should be accompanied by a test in tests/. PCI-level testing APIS for
> BARs, configuration space, interrupts, etc are available in
> tests/qtest/libqos/pci.h. The test case needs to include a vfio-user
> device backend interact with QEMU's vfio-user-pci implementation.
>
> I think this spec can be merged in docs/devel/ now and marked as
> "subject to change (not a stable public interface)".
>
> After the details have been proven and any necessary changes have been
> made the spec can be promoted to docs/interop/ as a stable public
> interface. This gives the freedom to make changes discovered when
> figuring out issues like disconnect/reconnect, live migration, etc that
> can be hard to get right without a working implementation.
>
> Does this approach sound good?
>
> Also please let us know who is working on what so additional people can
> get involved in areas that need work!
>
> Stefan
Problem we discovered with e.g. vhost is once you ship a management
interface, people start using it immediately and it does not matter
that you never promised stability.
So I feel a good first step would be to limit this to only allow known
in-tree devices, started/destroyed automatically by qemu when device is
created. This way lots of reconnect etc issues go away, and we don't
commit to a stable protocol until we have a decent handle on how things
will work in production.
--
MST
next prev parent reply other threads:[~2020-09-24 10:06 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-17 11:20 [PATCH v3] introduce VFIO-over-socket protocol specificaion Thanos Makatos
2020-07-21 16:33 ` Nikos Dragazis
2020-07-22 11:43 ` Thanos Makatos
2020-09-15 14:29 ` [PATCH v4] introduce vfio-user protocol specification Thanos Makatos
2020-09-24 8:21 ` Stefan Hajnoczi
2020-09-24 9:24 ` Michael S. Tsirkin [this message]
2020-09-28 9:58 ` Thanos Makatos
2020-09-29 10:37 ` Stefan Hajnoczi
2020-09-29 16:21 ` John G Johnson
2020-09-30 14:24 ` Stefan Hajnoczi
2020-10-02 10:14 ` Felipe Franciosi
2020-10-13 9:30 ` Stefan Hajnoczi
2020-10-15 13:36 ` Felipe Franciosi
2020-10-30 19:14 ` Stefan Hajnoczi
2020-10-13 9:42 ` Daniel P. Berrangé
2020-09-29 10:41 ` Stefan Hajnoczi
2020-10-28 16:10 ` [PATCH v5] " Thanos Makatos
2020-10-28 16:41 ` Thanos Makatos
2020-10-30 17:03 ` John Levon
2020-11-02 11:29 ` Thanos Makatos
2020-11-02 11:41 ` John Levon
2020-11-02 11:51 ` Thanos Makatos
2020-11-06 1:50 ` John G Johnson
2020-11-07 12:26 ` John Levon
2020-11-09 12:07 ` Thanos Makatos
2020-11-09 9:20 ` Thanos Makatos
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=20200924052051-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=Kanth.Ghatraju@oracle.com \
--cc=alex.williamson@redhat.com \
--cc=benjamin.walker@intel.com \
--cc=changpeng.liu@intel.com \
--cc=dgilbert@redhat.com \
--cc=elena.ufimtseva@oracle.com \
--cc=felipe@nutanix.com \
--cc=ismael@linux.com \
--cc=jag.raman@oracle.com \
--cc=james.r.harris@intel.com \
--cc=john.g.johnson@oracle.com \
--cc=konrad.wilk@oracle.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=raphael.norwitz@nutanix.com \
--cc=stefanha@redhat.com \
--cc=swapnil.ingle@nutanix.com \
--cc=thanos.makatos@nutanix.com \
--cc=tina.zhang@intel.com \
--cc=tomassetti.andrea@gmail.com \
--cc=xiuchun.lu@intel.com \
--cc=yuvalkashtan@gmail.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;
as well as URLs for NNTP newsgroup(s).