All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Thanos Makatos <thanos.makatos@nutanix.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, "Michael S. Tsirkin" <mst@redhat.com>,
	yuvalkashtan@gmail.com, konrad.wilk@oracle.com,
	qemu-devel@nongnu.org, raphael.norwitz@nutanix.com,
	ismael@linux.com, alex.williamson@redhat.com,
	Kanth.Ghatraju@oracle.com, felipe@nutanix.com,
	xiuchun.lu@intel.com, marcandre.lureau@redhat.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 09:21:32 +0100	[thread overview]
Message-ID: <20200924082132.GJ62770@stefanha-x1.localdomain> (raw)
In-Reply-To: <1600180157-74760-1-git-send-email-thanos.makatos@nutanix.com>

[-- Attachment #1: Type: text/plain, Size: 1818 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2020-09-24  8:23 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 [this message]
2020-09-24  9:24     ` Michael S. Tsirkin
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=20200924082132.GJ62770@stefanha-x1.localdomain \
    --to=stefanha@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=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=raphael.norwitz@nutanix.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 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.