From: Jike Song <jike.song@intel.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: kevin.tian@intel.com, cjia@nvidia.com, kvm@vger.kernel.org,
qemu-devel@nongnu.org, zhenyuw@linux.intel.com,
kwankhede@nvidia.com, zhiyuan.lv@intel.com, pbonzini@redhat.com,
guangrong.xiao@linux.intel.com, bjsdjshi@linux.vnet.ibm.com,
kraxel@redhat.com
Subject: Re: [RFC v2 0/4] adding mdev bus and vfio support
Date: Wed, 07 Sep 2016 10:22:26 +0800 [thread overview]
Message-ID: <57CF79E2.5060902@intel.com> (raw)
In-Reply-To: <20160902090352.53afdab1@t450s.home>
On 09/02/2016 11:03 PM, Alex Williamson wrote:
> On Fri, 2 Sep 2016 16:16:08 +0800
> Jike Song <jike.song@intel.com> wrote:
>
>> This patchset is based on NVidia's "Add Mediated device support" series, version 6:
>>
>> http://www.spinics.net/lists/kvm/msg136472.html
>
>
> Hi Jike,
>
> I'm thrilled by your active participation here, but I'm confused which
> versions I should be reviewing and where the primary development is
> going. Kirti sent v7 a week ago, so I would have expected a revision
> based on that rather than a re-write based on v6 plus incorporation of a
> few of Kirti's patches directly.
Hi Alex,
[Sorry! replied this on Monday but it was silently dropped by the our firewall]
The v1 of this patchset was send as incremental ones, basing on Nvidia's v6, to
demonstrate how is it possible and beneficial to:
1, Introduce an independent device between physical and mdev;
2, Simplify vfio-mdev and make it the most flexible for vendor drivers;
Unfortunately neither was understood or adopted in v7:
http://www.spinics.net/lists/kvm/msg137081.html
So here came the v2, as a standalone series, to give a whole and straight
demonstration. The reason of still basing on v6:
- Addressed all v6 comments (except the iommu part);
- There is no comments yet for v7 (except the sysfs ones);
> I liked the last version of these
> changes a lot, but we need to figure out how to combine development
> because we do not have infinite cycles for review available :-\ Thanks!
Fully understand.
Here is the dilemma: v6 is an obsolete version to work upon, v7 is still not
at the direction we prefer. We would be highly glad and thankful if Neo/Kirti
would adopt the code in their next version, which will certainly form a
more simple and consolidated base for future co-development; otherwise
and we could at least discuss the concerns, in case of any.
--
Thanks,
Jike
>>
>>
>> Key Changes from Nvidia v6:
>>
>> - Introduced an independent struct device to host device, thereby
>> formed a physical-host-mdev hierarchy, and highly reused Linux
>> driver core support;
>>
>> - Added online/offline to mdev_bus_type, leveraging the 'online'
>> attr support from Linux driver core;
>>
>> - Removed mdev_class and other unecessary stuff;
>>
>> /*
>> * Given the changes above, the code volume of mdev core driver
>> * dramatically reduced by ~50%.
>> */
>>
>>
>> - Interfaces between vfio_mdev and vendor driver are high-level,
>> e.g. ioctl instead of get_irq_info/set_irq_info and reset,
>> start/stop became mdev oriented, etc.;
>>
>> /*
>> * Given the changes above, the code volume of mdev core driver
>> * dramatically reduced by ~64%.
>> */
>>
>>
>> Test
>>
>> - Tested with KVMGT
>>
>> TODO
>>
>> - Re-implement the attribute group of host device as long as the
>> sysfs hierarchy in discussion gets finalized;
>>
>> - Move common routines from current vfio-pci into a higher location,
>> export them for various VFIO bus drivers and/or mdev vendor drivers;
>>
>> - Add implementation examples for vendor drivers to Documentation;
>>
>> - Refine IOMMU changes
>>
>>
>>
>> Jike Song (2):
>> Mediated device Core driver
>> vfio: VFIO bus driver for MDEV devices
>>
>> Kirti Wankhede (2):
>> vfio iommu: Add support for mediated devices
>> docs: Add Documentation for Mediated devices
>>
>> Documentation/vfio-mediated-device.txt | 203 ++++++++++++++
>> drivers/vfio/Kconfig | 1 +
>> drivers/vfio/Makefile | 1 +
>> drivers/vfio/mdev/Kconfig | 18 ++
>> drivers/vfio/mdev/Makefile | 5 +
>> drivers/vfio/mdev/mdev_core.c | 250 +++++++++++++++++
>> drivers/vfio/mdev/mdev_driver.c | 155 ++++++++++
>> drivers/vfio/mdev/mdev_private.h | 29 ++
>> drivers/vfio/mdev/mdev_sysfs.c | 155 ++++++++++
>> drivers/vfio/mdev/vfio_mdev.c | 187 ++++++++++++
>> drivers/vfio/vfio.c | 82 ++++++
>> drivers/vfio/vfio_iommu_type1.c | 499 +++++++++++++++++++++++++++++----
>> include/linux/mdev.h | 159 +++++++++++
>> include/linux/vfio.h | 13 +-
>> 14 files changed, 1709 insertions(+), 48 deletions(-)
>> create mode 100644 Documentation/vfio-mediated-device.txt
>> create mode 100644 drivers/vfio/mdev/Kconfig
>> create mode 100644 drivers/vfio/mdev/Makefile
>> create mode 100644 drivers/vfio/mdev/mdev_core.c
>> create mode 100644 drivers/vfio/mdev/mdev_driver.c
>> create mode 100644 drivers/vfio/mdev/mdev_private.h
>> create mode 100644 drivers/vfio/mdev/mdev_sysfs.c
>> create mode 100644 drivers/vfio/mdev/vfio_mdev.c
>> create mode 100644 include/linux/mdev.h
>>
>
next prev parent reply other threads:[~2016-09-07 2:22 UTC|newest]
Thread overview: 14+ 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 ` [RFC v2 1/4] Mediated device Core driver 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 ` [RFC v2 3/4] vfio iommu: Add support for mediated devices Jike Song
2016-09-02 8:16 ` [RFC v2 4/4] docs: Add Documentation for Mediated devices Jike Song
2016-09-02 22:09 ` [Qemu-devel] " Eric Blake
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 20:05 ` Neo Jia
2016-09-07 2:22 ` Jike Song [this message]
2016-09-07 3:38 ` Neo Jia
2016-09-07 6:42 ` Jike Song
2016-09-07 16:56 ` Alex Williamson
2016-09-08 8:00 ` 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=57CF79E2.5060902@intel.com \
--to=jike.song@intel.com \
--cc=alex.williamson@redhat.com \
--cc=bjsdjshi@linux.vnet.ibm.com \
--cc=cjia@nvidia.com \
--cc=guangrong.xiao@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox