All of lore.kernel.org
 help / color / mirror / Atom feed
* Allow mdev drivers to directly create the vfio_device (v3)
@ 2021-06-15 13:35 ` Christoph Hellwig
  0 siblings, 0 replies; 90+ messages in thread
From: Christoph Hellwig @ 2021-06-15 13:35 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jason Gunthorpe, Alex Williamson, Kirti Wankhede
  Cc: David Airlie, Tony Krowiak, Christian Borntraeger, Cornelia Huck,
	Jonathan Corbet, Daniel Vetter, dri-devel, Vasily Gorbik,
	Heiko Carstens, intel-gfx, Jani Nikula, Jason Herne,
	Joonas Lahtinen, kvm, linux-doc, linux-s390, Halil Pasic,
	Rafael J. Wysocki, Rodrigo Vivi

This is my alternative take on this series from Jason:

https://lore.kernel.org/dri-devel/87czsszi9i.fsf@redhat.com/T/

The mdev/vfio parts are exactly the same, but this solves the driver core
changes for the direct probing without the in/out flag that Greg hated,
which cause a little more work, but probably make the result better.

Original decription from Jason below:

The mdev bus's core part for managing the lifecycle of devices is mostly
as one would expect for a driver core bus subsystem.

However instead of having a normal 'struct device_driver' and binding the
actual mdev drivers through the standard driver core mechanisms it open
codes this with the struct mdev_parent_ops and provides a single driver
that shims between the VFIO core's struct vfio_device and the actual
device driver.

Instead, allow mdev drivers implement an actual struct mdev_driver and
directly call vfio_register_group_dev() in the probe() function for the
mdev. Arrange to bind the created mdev_device to the mdev_driver that is
provided by the end driver.

The actual execution flow doesn't change much, eg what was
parent_ops->create is now device_driver->probe and it is called at almost
the exact same time - except under the normal control of the driver core.

Ultimately converting all the drivers unlocks a fair number of additional
VFIO simplifications and cleanups.

Changes since v1:
 - avoid warning spam for successful probes
 - improve the probe_count protection

^ permalink raw reply	[flat|nested] 90+ messages in thread

end of thread, other threads:[~2021-06-16 20:21 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-15 13:35 Allow mdev drivers to directly create the vfio_device (v3) Christoph Hellwig
2021-06-15 13:35 ` [Intel-gfx] " Christoph Hellwig
2021-06-15 13:35 ` [PATCH 01/10] driver core: Pull required checks into driver_probe_device() Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 13:35 ` [PATCH 02/10] driver core: Better distinguish probe errors in really_probe Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 13:53   ` Cornelia Huck
2021-06-15 13:53     ` [Intel-gfx] " Cornelia Huck
2021-06-15 13:53     ` Cornelia Huck
2021-06-15 14:09     ` Greg Kroah-Hartman
2021-06-15 14:09       ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:09       ` Greg Kroah-Hartman
2021-06-15 14:09   ` Greg Kroah-Hartman
2021-06-15 14:09     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:09     ` Greg Kroah-Hartman
2021-06-16 20:20   ` Kirti Wankhede
2021-06-16 20:20     ` [Intel-gfx] " Kirti Wankhede
2021-06-16 20:20     ` Kirti Wankhede
2021-06-15 13:35 ` [PATCH 03/10] driver core: Flow the return code from ->probe() through to sysfs bind Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 13:35 ` [PATCH 04/10] driver core: Don't return EPROBE_DEFER to userspace during " Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:03   ` Cornelia Huck
2021-06-15 14:03     ` [Intel-gfx] " Cornelia Huck
2021-06-15 14:03     ` Cornelia Huck
2021-06-15 19:36   ` Alex Williamson
2021-06-15 19:36     ` [Intel-gfx] " Alex Williamson
2021-06-15 19:36     ` Alex Williamson
2021-06-15 13:35 ` [PATCH 05/10] driver core: Export device_driver_attach() Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:10   ` Greg Kroah-Hartman
2021-06-15 14:10     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:10     ` Greg Kroah-Hartman
2021-06-15 13:35 ` [PATCH 06/10] vfio/mdev: Remove CONFIG_VFIO_MDEV_DEVICE Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:10   ` Greg Kroah-Hartman
2021-06-15 14:10     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:10     ` Greg Kroah-Hartman
2021-06-16 20:20   ` Kirti Wankhede
2021-06-16 20:20     ` [Intel-gfx] " Kirti Wankhede
2021-06-16 20:20     ` Kirti Wankhede
2021-06-15 13:35 ` [PATCH 07/10] vfio/mdev: Allow the mdev_parent_ops to specify the device driver to bind Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:06   ` Cornelia Huck
2021-06-15 14:06     ` [Intel-gfx] " Cornelia Huck
2021-06-15 14:06     ` Cornelia Huck
2021-06-15 14:11   ` Greg Kroah-Hartman
2021-06-15 14:11     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:11     ` Greg Kroah-Hartman
2021-06-16  0:00     ` Jason Gunthorpe
2021-06-16  0:00       ` [Intel-gfx] " Jason Gunthorpe
2021-06-16  0:00       ` Jason Gunthorpe
2021-06-16  6:39       ` Greg Kroah-Hartman
2021-06-16  6:39         ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-16  6:39         ` Greg Kroah-Hartman
2021-06-16 20:20   ` Kirti Wankhede
2021-06-16 20:20     ` [Intel-gfx] " Kirti Wankhede
2021-06-16 20:20     ` Kirti Wankhede
2021-06-15 13:35 ` [PATCH 08/10] vfio/mtty: Convert to use vfio_register_group_dev() Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:11   ` Greg Kroah-Hartman
2021-06-15 14:11     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:11     ` Greg Kroah-Hartman
2021-06-16 20:20   ` Kirti Wankhede
2021-06-16 20:20     ` [Intel-gfx] " Kirti Wankhede
2021-06-16 20:20     ` Kirti Wankhede
2021-06-15 13:35 ` [PATCH 09/10] vfio/mdpy: " Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:12   ` Greg Kroah-Hartman
2021-06-15 14:12     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:12     ` Greg Kroah-Hartman
2021-06-15 13:35 ` [PATCH 10/10] vfio/mbochs: " Christoph Hellwig
2021-06-15 13:35   ` [Intel-gfx] " Christoph Hellwig
2021-06-15 14:12   ` Greg Kroah-Hartman
2021-06-15 14:12     ` [Intel-gfx] " Greg Kroah-Hartman
2021-06-15 14:12     ` Greg Kroah-Hartman
2021-06-15 14:11 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/10] driver core: Pull required checks into driver_probe_device() Patchwork
2021-06-15 14:15 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-06-15 14:40 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-06-15 19:35 ` Allow mdev drivers to directly create the vfio_device (v3) Alex Williamson
2021-06-15 19:35   ` [Intel-gfx] " Alex Williamson
2021-06-15 19:35   ` Alex Williamson
2021-06-15 20:35   ` Jason Gunthorpe
2021-06-15 20:35     ` [Intel-gfx] " Jason Gunthorpe
2021-06-15 20:35     ` Jason Gunthorpe
2021-06-16  3:13     ` Christoph Hellwig
2021-06-16  3:13       ` [Intel-gfx] " Christoph Hellwig
2021-06-16 14:03       ` Jason Gunthorpe
2021-06-16 14:03         ` Jason Gunthorpe
2021-06-15 21:59 ` [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [01/10] driver core: Pull required checks into driver_probe_device() Patchwork

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.