Re: simplify the mdev interface v6

Alex Williamson
2022-07-18T21:33:51Z

On Mon, 18 Jul 2022 07:43:48 +0200
Christoph Hellwig <hch@lst.de> wrote:

> Alex, does this series look good to you now?

It does. I was hoping we'd get a more complete set acks from the mdev
driver owners, but I'll grab this within the next day or two with
whatever additional reviews come in by then. Thanks,

Alex

> On Sat, Jul 09, 2022 at 06:54:36AM +0200, Christoph Hellwig wrote:
> > Hi all,
> >
> > this series signigicantly simplies the mdev driver interface by following
> > the patterns for device model interaction used elsewhere in the kernel.
> >
> > Changes since v5:
> > - rebased to the latest vfio/next branch
> > - drop the last patch again
> > - make sure show_available_instances works properly for the internallly
> > tracked case
> >
> > Changes since v4:
> > - move the kobject_put later in mdev_device_release
> > - add a Fixes tag for the first patch
> > - add another patch to remove an extra kobject_get/put
> >
> > Changes since v3:
> > - make the sysfs_name and pretty_name fields pointers instead of arrays
> > - add an i915 cleanup to prepare for the above
> >
> > Changes since v2:
> > - rebased to vfio/next
> > - fix a pre-existing memory leak in i915 instead of making it worse
> > - never manipulate if ->available_instances if drv->get_available is
> > provided
> > - keep a parent reference for the mdev_type
> > - keep a few of the sysfs.c helper function around
> > - improve the documentation for the parent device lifetime
> > - minor spellig / formatting fixes
> >
> > Changes since v1:
> > - embedd the mdev_parent into a different sub-structure in i916
> > - remove headers now inclued by mdev.h from individual source files
> > - pass an array of mdev_types to mdev_register_parent
> > - add additional patches to implement all attributes on the
> > mdev_type in the core code
> >
> > Diffstat:
> > Documentation/driver-api/vfio-mediated-device.rst | 26 +-
> > Documentation/s390/vfio-ap.rst | 2
> > Documentation/s390/vfio-ccw.rst | 2
> > drivers/gpu/drm/i915/gvt/aperture_gm.c | 20 +-
> > drivers/gpu/drm/i915/gvt/gvt.h | 42 ++--
> > drivers/gpu/drm/i915/gvt/kvmgt.c | 168 ++++-------------
> > drivers/gpu/drm/i915/gvt/vgpu.c | 210 +++++++---------------
> > drivers/s390/cio/cio.h | 4
> > drivers/s390/cio/vfio_ccw_drv.c | 12 -
> > drivers/s390/cio/vfio_ccw_ops.c | 51 -----
> > drivers/s390/cio/vfio_ccw_private.h | 2
> > drivers/s390/crypto/vfio_ap_ops.c | 68 +------
> > drivers/s390/crypto/vfio_ap_private.h | 6
> > drivers/vfio/mdev/mdev_core.c | 190 ++++---------------
> > drivers/vfio/mdev/mdev_driver.c | 7
> > drivers/vfio/mdev/mdev_private.h | 32 ---
> > drivers/vfio/mdev/mdev_sysfs.c | 189 ++++++++++---------
> > include/linux/mdev.h | 77 ++++----
> > samples/vfio-mdev/mbochs.c | 103 +++-------
> > samples/vfio-mdev/mdpy.c | 115 +++---------
> > samples/vfio-mdev/mtty.c | 94 +++------
> > 21 files changed, 463 insertions(+), 957 deletions(-)
> ---end quoted text---
>