All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neo Jia <cjia@nvidia.com>
To: Eric Blake <eblake@redhat.com>
Cc: Jike Song <jike.song@intel.com>, <alex.williamson@redhat.com>,
	<kwankhede@nvidia.com>, <kevin.tian@intel.com>,
	<guangrong.xiao@linux.intel.com>, <kvm@vger.kernel.org>,
	<qemu-devel@nongnu.org>, <zhenyuw@linux.intel.com>,
	<zhiyuan.lv@intel.com>, <pbonzini@redhat.com>,
	<bjsdjshi@linux.vnet.ibm.com>, <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [RFC v2 4/4] docs: Add Documentation for Mediated devices
Date: Fri, 2 Sep 2016 16:30:31 -0700	[thread overview]
Message-ID: <20160902233031.GA3886@nvidia.com> (raw)
In-Reply-To: <72d0964e-492c-41d8-596e-cc42a8d1ea50@redhat.com>

On Fri, Sep 02, 2016 at 05:09:46PM -0500, Eric Blake wrote:
> * PGP Signed by an unknown key
> 
> On 09/02/2016 03:16 AM, Jike Song wrote:
> > From: Kirti Wankhede <kwankhede@nvidia.com>
> > 
> > Add file Documentation/vfio-mediated-device.txt that include details of
> > mediated device framework.
> > 
> > Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
> > Signed-off-by: Neo Jia <cjia@nvidia.com>
> > Signed-off-by: Jike Song <jike.song@intel.com>
> > ---
> >  Documentation/vfio-mediated-device.txt | 203 +++++++++++++++++++++++++++++++++
> >  1 file changed, 203 insertions(+)
> >  create mode 100644 Documentation/vfio-mediated-device.txt
> > 
> > diff --git a/Documentation/vfio-mediated-device.txt b/Documentation/vfio-mediated-device.txt
> > new file mode 100644
> > index 0000000..39bdcd9
> > --- /dev/null
> > +++ b/Documentation/vfio-mediated-device.txt
> > @@ -0,0 +1,203 @@
> > +VFIO Mediated devices [1]
> > +-------------------------------------------------------------------------------
> 
> Many files under Documentation trim the ---- decorator to the length of
> the line above.
> 
> Also, since you have no explicit copyright/license notice, your
> documentation is under GPLv2+ per the top level.  Other files do this,
> and if you are okay with it, I won't complain; but if you intended
> something else, or even if you wanted to make it explicit rather than
> implicit, then you may want to copy the example of files that call out a
> quick blurb on copyright and licensing.
> 

Hi Eric,

Thanks for the review and really sorry about the extra email threads of this review, 
we already have one actively going on for a while starting from RFC to currently v7.

http://www.spinics.net/lists/kvm/msg137208.html

And the related latest v7 document is at:

http://www.spinics.net/lists/kvm/msg137210.html

We will address all your review comments there.

Thanks,
Neo


> > +
> > +There are more and more use cases/demands to virtualize the DMA devices which
> > +doesn't have SR_IOV capability built-in. To do this, drivers of different
> 
> s/doesn't/don't/
> 
> > +devices had to develop their own management interface and set of APIs and then
> > +integrate it to user space software. We've identified common requirements and
> > +unified management interface for such devices to make user space software
> > +integration easier.
> > +
> > +The VFIO driver framework provides unified APIs for direct device access. It is
> > +an IOMMU/device agnostic framework for exposing direct device access to
> > +user space, in a secure, IOMMU protected environment. This framework is
> > +used for multiple devices like GPUs, network adapters and compute accelerators.
> > +With direct device access, virtual machines or user space applications have
> > +direct access of physical device. This framework is reused for mediated devices.
> > +
> > +Mediated core driver provides a common interface for mediated device management
> > +that can be used by drivers of different devices. This module provides a generic
> > +interface to create/destroy mediated device, add/remove it to mediated bus
> 
> s/mediated/a mediated/ twice
> 
> > +driver, add/remove device to IOMMU group. It also provides an interface to
> 
> s/add/and add/
> s/device to/a device to an/
> 
> > +register different types of bus drivers, for example, Mediated VFIO PCI driver
> > +is designed for mediated PCI devices and supports VFIO APIs. Similarly, driver
> 
> s/driver/the driver/
> 
> > +can be designed to support any type of mediated device and added to this
> > +framework. Mediated bus driver add/delete mediated device to VFIO Group.
> 
> Missing a verb and several articles, but I'm not sure what you meant.
> Maybe:
> 
> A mediated bus driver can add/delete mediated devices to a VFIO Group.
> 
> > +
> > +Below is the high level block diagram, with NVIDIA, Intel and IBM devices
> > +as examples, since these are the devices which are going to actively use
> > +this module as of now.
> > +
> 
> > +
> > +
> > +Registration Interfaces
> > +-------------------------------------------------------------------------------
> > +
> 
> Again, rather long separator,
> 
> > +Mediated core driver provides two types of registration interfaces:
> > +
> > +1. Registration interface for mediated bus driver:
> > +-------------------------------------------------
> 
> while this seems one byte short.  I'll quit pointing it out.
> 
> > +
> > +	/**
> > +	 * struct mdev_driver [2] - Mediated device driver
> > +	 * @name: driver name
> > +	 * @probe: called when new device created
> > +	 * @remove: called when device removed
> > +	 * @driver: device driver structure
> 
> No mention of online, offline.
> 
> > +	 **/
> > +	struct mdev_driver {
> > +		const char *name;
> > +		int (*probe)(struct device *dev);
> > +		void (*remove)(struct device *dev);
> > +		int (*online)(struct device *dev);
> > +		int (*offline)(struct device *dev);
> > +		struct device_driver driver;
> > +	};
> > +
> > +
> ...
> > +
> > +For echo physical device, there is a mdev host device created, it shows in sysfs:
> > +/sys/bus/pci/devices/0000:05:00.0/mdev-host/
> 
> Did you mean 'For echoing a' (as in duplicating the device), or maybe
> 'For echoing to a' (as in duplicating data sent to the device)?  Or is
> this a typo s/echo/each/?
> 
> 
> -- 
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
> 
> 
> * Unknown Key
> * 0x2527436A

WARNING: multiple messages have this Message-ID (diff)
From: Neo Jia <cjia@nvidia.com>
To: Eric Blake <eblake@redhat.com>
Cc: Jike Song <jike.song@intel.com>,
	alex.williamson@redhat.com, kwankhede@nvidia.com,
	kevin.tian@intel.com, guangrong.xiao@linux.intel.com,
	kvm@vger.kernel.org, qemu-devel@nongnu.org,
	zhenyuw@linux.intel.com, zhiyuan.lv@intel.com,
	pbonzini@redhat.com, bjsdjshi@linux.vnet.ibm.com,
	kraxel@redhat.com
Subject: Re: [Qemu-devel] [RFC v2 4/4] docs: Add Documentation for Mediated devices
Date: Fri, 2 Sep 2016 16:30:31 -0700	[thread overview]
Message-ID: <20160902233031.GA3886@nvidia.com> (raw)
In-Reply-To: <72d0964e-492c-41d8-596e-cc42a8d1ea50@redhat.com>

On Fri, Sep 02, 2016 at 05:09:46PM -0500, Eric Blake wrote:
> * PGP Signed by an unknown key
> 
> On 09/02/2016 03:16 AM, Jike Song wrote:
> > From: Kirti Wankhede <kwankhede@nvidia.com>
> > 
> > Add file Documentation/vfio-mediated-device.txt that include details of
> > mediated device framework.
> > 
> > Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
> > Signed-off-by: Neo Jia <cjia@nvidia.com>
> > Signed-off-by: Jike Song <jike.song@intel.com>
> > ---
> >  Documentation/vfio-mediated-device.txt | 203 +++++++++++++++++++++++++++++++++
> >  1 file changed, 203 insertions(+)
> >  create mode 100644 Documentation/vfio-mediated-device.txt
> > 
> > diff --git a/Documentation/vfio-mediated-device.txt b/Documentation/vfio-mediated-device.txt
> > new file mode 100644
> > index 0000000..39bdcd9
> > --- /dev/null
> > +++ b/Documentation/vfio-mediated-device.txt
> > @@ -0,0 +1,203 @@
> > +VFIO Mediated devices [1]
> > +-------------------------------------------------------------------------------
> 
> Many files under Documentation trim the ---- decorator to the length of
> the line above.
> 
> Also, since you have no explicit copyright/license notice, your
> documentation is under GPLv2+ per the top level.  Other files do this,
> and if you are okay with it, I won't complain; but if you intended
> something else, or even if you wanted to make it explicit rather than
> implicit, then you may want to copy the example of files that call out a
> quick blurb on copyright and licensing.
> 

Hi Eric,

Thanks for the review and really sorry about the extra email threads of this review, 
we already have one actively going on for a while starting from RFC to currently v7.

http://www.spinics.net/lists/kvm/msg137208.html

And the related latest v7 document is at:

http://www.spinics.net/lists/kvm/msg137210.html

We will address all your review comments there.

Thanks,
Neo


> > +
> > +There are more and more use cases/demands to virtualize the DMA devices which
> > +doesn't have SR_IOV capability built-in. To do this, drivers of different
> 
> s/doesn't/don't/
> 
> > +devices had to develop their own management interface and set of APIs and then
> > +integrate it to user space software. We've identified common requirements and
> > +unified management interface for such devices to make user space software
> > +integration easier.
> > +
> > +The VFIO driver framework provides unified APIs for direct device access. It is
> > +an IOMMU/device agnostic framework for exposing direct device access to
> > +user space, in a secure, IOMMU protected environment. This framework is
> > +used for multiple devices like GPUs, network adapters and compute accelerators.
> > +With direct device access, virtual machines or user space applications have
> > +direct access of physical device. This framework is reused for mediated devices.
> > +
> > +Mediated core driver provides a common interface for mediated device management
> > +that can be used by drivers of different devices. This module provides a generic
> > +interface to create/destroy mediated device, add/remove it to mediated bus
> 
> s/mediated/a mediated/ twice
> 
> > +driver, add/remove device to IOMMU group. It also provides an interface to
> 
> s/add/and add/
> s/device to/a device to an/
> 
> > +register different types of bus drivers, for example, Mediated VFIO PCI driver
> > +is designed for mediated PCI devices and supports VFIO APIs. Similarly, driver
> 
> s/driver/the driver/
> 
> > +can be designed to support any type of mediated device and added to this
> > +framework. Mediated bus driver add/delete mediated device to VFIO Group.
> 
> Missing a verb and several articles, but I'm not sure what you meant.
> Maybe:
> 
> A mediated bus driver can add/delete mediated devices to a VFIO Group.
> 
> > +
> > +Below is the high level block diagram, with NVIDIA, Intel and IBM devices
> > +as examples, since these are the devices which are going to actively use
> > +this module as of now.
> > +
> 
> > +
> > +
> > +Registration Interfaces
> > +-------------------------------------------------------------------------------
> > +
> 
> Again, rather long separator,
> 
> > +Mediated core driver provides two types of registration interfaces:
> > +
> > +1. Registration interface for mediated bus driver:
> > +-------------------------------------------------
> 
> while this seems one byte short.  I'll quit pointing it out.
> 
> > +
> > +	/**
> > +	 * struct mdev_driver [2] - Mediated device driver
> > +	 * @name: driver name
> > +	 * @probe: called when new device created
> > +	 * @remove: called when device removed
> > +	 * @driver: device driver structure
> 
> No mention of online, offline.
> 
> > +	 **/
> > +	struct mdev_driver {
> > +		const char *name;
> > +		int (*probe)(struct device *dev);
> > +		void (*remove)(struct device *dev);
> > +		int (*online)(struct device *dev);
> > +		int (*offline)(struct device *dev);
> > +		struct device_driver driver;
> > +	};
> > +
> > +
> ...
> > +
> > +For echo physical device, there is a mdev host device created, it shows in sysfs:
> > +/sys/bus/pci/devices/0000:05:00.0/mdev-host/
> 
> Did you mean 'For echoing a' (as in duplicating the device), or maybe
> 'For echoing to a' (as in duplicating data sent to the device)?  Or is
> this a typo s/echo/each/?
> 
> 
> -- 
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
> 
> 
> * Unknown Key
> * 0x2527436A

  reply	other threads:[~2016-09-02 23:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-02  8:16 [RFC v2 0/4] adding mdev bus and vfio support Jike Song
2016-09-02  8:16 ` [Qemu-devel] " Jike Song
2016-09-02  8:16 ` [RFC v2 1/4] Mediated device Core driver Jike Song
2016-09-02  8:16   ` [Qemu-devel] " Jike Song
2016-09-02  8:16 ` [RFC v2 2/4] vfio: VFIO bus driver for MDEV devices Jike Song
2016-09-02  8:16   ` [Qemu-devel] " Jike Song
2016-09-02  8:16 ` [RFC v2 3/4] vfio iommu: Add support for mediated devices Jike Song
2016-09-02  8:16   ` [Qemu-devel] " Jike Song
2016-09-02  8:16 ` [RFC v2 4/4] docs: Add Documentation for Mediated devices Jike Song
2016-09-02  8:16   ` [Qemu-devel] " Jike Song
2016-09-02 22:09   ` Eric Blake
2016-09-02 22:09     ` Eric Blake
2016-09-02 23:30     ` Neo Jia [this message]
2016-09-02 23:30       ` Neo Jia
2016-09-02 15:03 ` [RFC v2 0/4] adding mdev bus and vfio support Alex Williamson
2016-09-02 15:03   ` [Qemu-devel] " Alex Williamson
2016-09-02 20:05   ` Neo Jia
2016-09-02 20:05     ` [Qemu-devel] " Neo Jia
2016-09-07  2:22   ` Jike Song
2016-09-07  2:22     ` [Qemu-devel] " Jike Song
2016-09-07  3:38     ` Neo Jia
2016-09-07  3:38       ` [Qemu-devel] " Neo Jia
2016-09-07  6:42       ` Jike Song
2016-09-07  6:42         ` [Qemu-devel] " Jike Song
2016-09-07 16:56         ` Alex Williamson
2016-09-07 16:56           ` [Qemu-devel] " Alex Williamson
2016-09-08  8:00           ` Jike Song
2016-09-08  8:00             ` [Qemu-devel] " Jike Song

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=20160902233031.GA3886@nvidia.com \
    --to=cjia@nvidia.com \
    --cc=alex.williamson@redhat.com \
    --cc=bjsdjshi@linux.vnet.ibm.com \
    --cc=eblake@redhat.com \
    --cc=guangrong.xiao@linux.intel.com \
    --cc=jike.song@intel.com \
    --cc=kevin.tian@intel.com \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zhenyuw@linux.intel.com \
    --cc=zhiyuan.lv@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 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.