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

From: Liu, Yi L
Date: Thu May 23 2019 - 04:47:50 EST


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@xxxxxxxxxx; kwankhede@xxxxxxxxxx
> Cc: Tian, Kevin <kevin.tian@xxxxxxxxx>; baolu.lu@xxxxxxxxxxxxxxx; Liu, Yi L
> <yi.l.liu@xxxxxxxxx>; Sun, Yi Y <yi.y.sun@xxxxxxxxx>; joro@xxxxxxxxxx; jean-
> philippe.brucker@xxxxxxx; peterx@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> kvm@xxxxxxxxxxxxxxx; yamada.masahiro@xxxxxxxxxxxxx; iommu@xxxxxxxxxxxx
> 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