mbox series

[RFC,v3,0/3] vfio_pci: wrap pci device as a mediated device

Message ID 1556021680-2911-1-git-send-email-yi.l.liu@intel.com (mailing list archive)
Headers show
Series vfio_pci: wrap pci device as a mediated device | expand

Message

Yi Liu April 23, 2019, 12:14 p.m. UTC
This patchset aims to add a vfio-pci-like meta driver as a demo
user of the vfio changes introduced in "vfio/mdev: IOMMU aware
mediated device" patchset from Baolu Lu.

Previous RFC v1 has given two proposals and the discussion could
be found in following link. Per the comments, this patchset adds
a separate driver named vfio-mdev-pci. It is a sample driver, but
loactes in drivers/vfio/pci due to code sharing consideration.
The corresponding Kconfig definition is in samples/Kconfig.

https://lkml.org/lkml/2019/3/4/529

Besides the test purpose, per Alex's comments, it could also be a
good base driver for experimenting with device specific mdev migration.

Specific interface tested in this proposal:

*) int mdev_set_iommu_device(struct device *dev,
				struct device *iommu_device)
   introduced in the patch as below:
   "[PATCH v5 6/8] vfio/mdev: Add iommu related member in mdev_device"


Links:
*) Link of "vfio/mdev: IOMMU aware mediated device"
	https://lwn.net/Articles/780522/

Please feel free give your comments.

Thanks,
Yi Liu

Change log:
  v2->v3:
  - use vfio-mdev-pci instead of vfio-pci-mdev
  - place the new driver under drivers/vfio/pci while define
    Kconfig in samples/Kconfig to clarify it is a sample driver

  v1->v2:
  - instead of adding kernel option to existing vfio-pci
    module in v1, v2 follows Alex's suggestion to add a
    separate vfio-pci-mdev module.
  - new patchset subject: "vfio/pci: wrap pci device as a mediated device"

Liu, Yi L (3):
  vfio_pci: split vfio_pci.c into two source files
  vfio/pci: protect cap/ecap_perm bits alloc/free with atomic op
  smaples: add vfio-mdev-pci driver

 drivers/vfio/pci/Makefile           |    7 +-
 drivers/vfio/pci/common.c           | 1511 +++++++++++++++++++++++++++++++++++
 drivers/vfio/pci/vfio_mdev_pci.c    |  386 +++++++++
 drivers/vfio/pci/vfio_pci.c         | 1476 +---------------------------------
 drivers/vfio/pci/vfio_pci_config.c  |    9 +
 drivers/vfio/pci/vfio_pci_private.h |   27 +
 samples/Kconfig                     |   11 +
 7 files changed, 1962 insertions(+), 1465 deletions(-)
 create mode 100644 drivers/vfio/pci/common.c
 create mode 100644 drivers/vfio/pci/vfio_mdev_pci.c

Comments

Yi Liu May 23, 2019, 8:44 a.m. UTC | #1
Hi Alex,

Sorry to disturb you. Do you want to review on this version or review a rebased version? :-) If rebase version is better, I can try to do it asap.

Thanks,
Yi Liu

> -----Original Message-----
> From: Liu, Yi L
> Sent: Tuesday, April 23, 2019 8:15 PM
> To: alex.williamson@redhat.com; kwankhede@nvidia.com
> Cc: Tian, Kevin <kevin.tian@intel.com>; baolu.lu@linux.intel.com; Liu, Yi L
> <yi.l.liu@intel.com>; Sun, Yi Y <yi.y.sun@intel.com>; joro@8bytes.org; jean-
> philippe.brucker@arm.com; peterx@redhat.com; linux-kernel@vger.kernel.org;
> kvm@vger.kernel.org; yamada.masahiro@socionext.com; iommu@lists.linux-
> foundation.org
> Subject: [RFC v3 0/3] vfio_pci: wrap pci device as a mediated device
> 
> This patchset aims to add a vfio-pci-like meta driver as a demo user of the vfio
> changes introduced in "vfio/mdev: IOMMU aware mediated device" patchset from
> Baolu Lu.
> 
> Previous RFC v1 has given two proposals and the discussion could be found in
> following link. Per the comments, this patchset adds a separate driver named vfio-
> mdev-pci. It is a sample driver, but loactes in drivers/vfio/pci due to code sharing
> consideration.
> The corresponding Kconfig definition is in samples/Kconfig.
> 
> https://lkml.org/lkml/2019/3/4/529
> 
> Besides the test purpose, per Alex's comments, it could also be a good base driver
> for experimenting with device specific mdev migration.
> 
> Specific interface tested in this proposal:
> 
> *) int mdev_set_iommu_device(struct device *dev,
> 				struct device *iommu_device)
>    introduced in the patch as below:
>    "[PATCH v5 6/8] vfio/mdev: Add iommu related member in mdev_device"
> 
> 
> Links:
> *) Link of "vfio/mdev: IOMMU aware mediated device"
> 	https://lwn.net/Articles/780522/
> 
> Please feel free give your comments.
> 
> Thanks,
> Yi Liu
> 
> Change log:
>   v2->v3:
>   - use vfio-mdev-pci instead of vfio-pci-mdev
>   - place the new driver under drivers/vfio/pci while define
>     Kconfig in samples/Kconfig to clarify it is a sample driver
> 
>   v1->v2:
>   - instead of adding kernel option to existing vfio-pci
>     module in v1, v2 follows Alex's suggestion to add a
>     separate vfio-pci-mdev module.
>   - new patchset subject: "vfio/pci: wrap pci device as a mediated device"
> 
> Liu, Yi L (3):
>   vfio_pci: split vfio_pci.c into two source files
>   vfio/pci: protect cap/ecap_perm bits alloc/free with atomic op
>   smaples: add vfio-mdev-pci driver
> 
>  drivers/vfio/pci/Makefile           |    7 +-
>  drivers/vfio/pci/common.c           | 1511 +++++++++++++++++++++++++++++++++++
>  drivers/vfio/pci/vfio_mdev_pci.c    |  386 +++++++++
>  drivers/vfio/pci/vfio_pci.c         | 1476 +---------------------------------
>  drivers/vfio/pci/vfio_pci_config.c  |    9 +
>  drivers/vfio/pci/vfio_pci_private.h |   27 +
>  samples/Kconfig                     |   11 +
>  7 files changed, 1962 insertions(+), 1465 deletions(-)  create mode 100644
> drivers/vfio/pci/common.c  create mode 100644 drivers/vfio/pci/vfio_mdev_pci.c
> 
> --
> 2.7.4
Alex Williamson May 23, 2019, 1:03 p.m. UTC | #2
On Thu, 23 May 2019 08:44:57 +0000
"Liu, Yi L" <yi.l.liu@intel.com> wrote:

> Hi Alex,
> 
> Sorry to disturb you. Do you want to review on this version or review a rebased version? :-) If rebase version is better, I can try to do it asap.

Hi Yi,

Perhaps you missed my comments on 1/3:

https://www.spinics.net/lists/kvm/msg187282.html

In summary, it looks pretty good, but consider a file name more
consistent with the existing files and prune out the code changes from
the code moves so they can be reviewed more easily.  Thanks,

Alex

> > -----Original Message-----
> > From: Liu, Yi L
> > Sent: Tuesday, April 23, 2019 8:15 PM
> > To: alex.williamson@redhat.com; kwankhede@nvidia.com
> > Cc: Tian, Kevin <kevin.tian@intel.com>; baolu.lu@linux.intel.com; Liu, Yi L
> > <yi.l.liu@intel.com>; Sun, Yi Y <yi.y.sun@intel.com>; joro@8bytes.org; jean-
> > philippe.brucker@arm.com; peterx@redhat.com; linux-kernel@vger.kernel.org;
> > kvm@vger.kernel.org; yamada.masahiro@socionext.com; iommu@lists.linux-
> > foundation.org
> > Subject: [RFC v3 0/3] vfio_pci: wrap pci device as a mediated device
> > 
> > This patchset aims to add a vfio-pci-like meta driver as a demo user of the vfio
> > changes introduced in "vfio/mdev: IOMMU aware mediated device" patchset from
> > Baolu Lu.
> > 
> > Previous RFC v1 has given two proposals and the discussion could be found in
> > following link. Per the comments, this patchset adds a separate driver named vfio-
> > mdev-pci. It is a sample driver, but loactes in drivers/vfio/pci due to code sharing
> > consideration.
> > The corresponding Kconfig definition is in samples/Kconfig.
> > 
> > https://lkml.org/lkml/2019/3/4/529
> > 
> > Besides the test purpose, per Alex's comments, it could also be a good base driver
> > for experimenting with device specific mdev migration.
> > 
> > Specific interface tested in this proposal:
> > 
> > *) int mdev_set_iommu_device(struct device *dev,
> > 				struct device *iommu_device)
> >    introduced in the patch as below:
> >    "[PATCH v5 6/8] vfio/mdev: Add iommu related member in mdev_device"
> > 
> > 
> > Links:
> > *) Link of "vfio/mdev: IOMMU aware mediated device"
> > 	https://lwn.net/Articles/780522/
> > 
> > Please feel free give your comments.
> > 
> > Thanks,
> > Yi Liu
> > 
> > Change log:
> >   v2->v3:
> >   - use vfio-mdev-pci instead of vfio-pci-mdev
> >   - place the new driver under drivers/vfio/pci while define
> >     Kconfig in samples/Kconfig to clarify it is a sample driver
> > 
> >   v1->v2:
> >   - instead of adding kernel option to existing vfio-pci
> >     module in v1, v2 follows Alex's suggestion to add a
> >     separate vfio-pci-mdev module.
> >   - new patchset subject: "vfio/pci: wrap pci device as a mediated device"
> > 
> > Liu, Yi L (3):
> >   vfio_pci: split vfio_pci.c into two source files
> >   vfio/pci: protect cap/ecap_perm bits alloc/free with atomic op
> >   smaples: add vfio-mdev-pci driver
> > 
> >  drivers/vfio/pci/Makefile           |    7 +-
> >  drivers/vfio/pci/common.c           | 1511 +++++++++++++++++++++++++++++++++++
> >  drivers/vfio/pci/vfio_mdev_pci.c    |  386 +++++++++
> >  drivers/vfio/pci/vfio_pci.c         | 1476 +---------------------------------
> >  drivers/vfio/pci/vfio_pci_config.c  |    9 +
> >  drivers/vfio/pci/vfio_pci_private.h |   27 +
> >  samples/Kconfig                     |   11 +
> >  7 files changed, 1962 insertions(+), 1465 deletions(-)  create mode 100644
> > drivers/vfio/pci/common.c  create mode 100644 drivers/vfio/pci/vfio_mdev_pci.c
> > 
> > --
> > 2.7.4  
>
Yi Liu June 9, 2019, 1:40 p.m. UTC | #3
> From Alex Williamson
> Sent: Thursday, May 23, 2019 9:03 PM
> To: Liu, Yi L <yi.l.liu@intel.com>
> Cc: kwankhede@nvidia.com; Tian, Kevin <kevin.tian@intel.com>;
> baolu.lu@linux.intel.com; Sun, Yi Y <yi.y.sun@intel.com>; joro@8bytes.org; jean-
> philippe.brucker@arm.com; peterx@redhat.com; linux-kernel@vger.kernel.org;
> kvm@vger.kernel.org; yamada.masahiro@socionext.com; iommu@lists.linux-
> foundation.org
> Subject: Re: [RFC v3 0/3] vfio_pci: wrap pci device as a mediated device
> 
> On Thu, 23 May 2019 08:44:57 +0000
> "Liu, Yi L" <yi.l.liu@intel.com> wrote:
> 
> > Hi Alex,
> >
> > Sorry to disturb you. Do you want to review on this version or review a rebased
> version? :-) If rebase version is better, I can try to do it asap.
> 
> Hi Yi,
> 
> Perhaps you missed my comments on 1/3:
> 
> https://www.spinics.net/lists/kvm/msg187282.html
> 
> In summary, it looks pretty good, but consider a file name more consistent with the
> existing files and prune out the code changes from the code moves so they can be
> reviewed more easily.  Thanks,

Thanks for the remind, Alex. So sorry I made changes in a "disordered".
I've made the changes accordingly. Pls refer to my latest post just now :-)

Regards,
Yi Liu