All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] vfio-ccw parent rework
@ 2022-11-02 15:01 ` Eric Farman
  0 siblings, 0 replies; 67+ messages in thread
From: Eric Farman @ 2022-11-02 15:01 UTC (permalink / raw)
  To: Matthew Rosato, Alex Williamson, Cornelia Huck, Jason Gunthorpe,
	Kevin Tian, Yi Liu
  Cc: Zhenyu Wang, Zhi Wang, Jani Nikula, Joonas Lahtinen,
	Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Daniel Vetter,
	Halil Pasic, Vineeth Vijayan, Peter Oberparleiter,
	Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
	Christian Borntraeger, Sven Schnelle, Tony Krowiak, Jason Herne,
	Harald Freudenberger, Diana Craciun, Eric Auger, Kirti Wankhede,
	Abhishek Sahu, Yishai Hadas, intel-gvt-dev, intel-gfx, dri-devel,
	linux-kernel, linux-s390, kvm, Eric Farman

Hi all,

Here is an update to the vfio-ccw lifecycle changes that have been discussed
in various forms over the past year [1][2] or so, and which I dusted off
recently.

Patches 1-5 rework the behavior of the vfio-ccw driver's private struct.
In summary, the mdev pieces are split out of vfio_ccw_private and into a
new vfio_ccw_parent struct that will continue to follow today's lifecycle.
The remainder (bulk) of the private struct moves to follow the mdev
probe/remove pair. There's opportunity for further separation of the
things in the private struct, which would simplify some of the vfio-ccw
code, but it got too hairy as I started that. Once vfio-ccw is no longer
considered unique, those cleanups can happen at our leisure. 

Patch 6 removes the trickery where vfio-ccw uses vfio_init_device instead of
vfio_alloc_device, and thus removes vfio_init_device from the outside world.

Patch 7 removes vfio_free_device from vfio-ccw and the other drivers (hello,
CC list!), letting it be handled by vfio_device_release directly.

Looking forward to the feedback.

Thanks,
Eric

[1] https://lore.kernel.org/kvm/0-v3-57c1502c62fd+2190-ccw_mdev_jgg@nvidia.com/
[2] https://lore.kernel.org/kvm/20220602171948.2790690-1-farman@linux.ibm.com/

v1->v2:
 - Rebase to 6.1-rc3
 - Patch 1:
   [EF] s/device_initialize/device_register/ and associated adjustments
   [MR] Add WARN_ON(!private) in vfio_ccw_sch_quiesce()
   [MR] Move struct vfio_ccw_parent to _private.h, instead of standalone file
 - Patch 2:
   [MR] Added r-b (Thank you!)
 - Patch 3:
   [MR] Update commit message to point to introduction of private->release_comp
   [MR] Replace the remnants of vfio_ccw_alloc_private with a straight kzalloc
   [MR] Added r-b (Thank you!)
 - Patch 5:
   [KT] Added r-b (Thank you!)
 - Patch 6:
   [JG] Make vfio_init_device static
   [KT] Added r-b (Thank you!)
 - Patch 7:
   [JG, KT] Added r-b (Thank you!)
v1: https://lore.kernel.org/kvm/20221019162135.798901-1-farman@linux.ibm.com/

Eric Farman (7):
  vfio/ccw: create a parent struct
  vfio/ccw: remove private->sch
  vfio/ccw: move private initialization to callback
  vfio/ccw: move private to mdev lifecycle
  vfio/ccw: remove release completion
  vfio/ccw: replace vfio_init_device with _alloc_
  vfio: Remove vfio_free_device

 drivers/gpu/drm/i915/gvt/kvmgt.c      |   1 -
 drivers/s390/cio/vfio_ccw_chp.c       |   5 +-
 drivers/s390/cio/vfio_ccw_drv.c       | 174 +++++++++++---------------
 drivers/s390/cio/vfio_ccw_fsm.c       |  27 ++--
 drivers/s390/cio/vfio_ccw_ops.c       | 107 +++++++++++-----
 drivers/s390/cio/vfio_ccw_private.h   |  37 ++++--
 drivers/s390/crypto/vfio_ap_ops.c     |   6 -
 drivers/vfio/fsl-mc/vfio_fsl_mc.c     |   1 -
 drivers/vfio/pci/vfio_pci_core.c      |   1 -
 drivers/vfio/platform/vfio_amba.c     |   1 -
 drivers/vfio/platform/vfio_platform.c |   1 -
 drivers/vfio/vfio_main.c              |  32 ++---
 include/linux/vfio.h                  |   3 -
 samples/vfio-mdev/mbochs.c            |   1 -
 samples/vfio-mdev/mdpy.c              |   1 -
 samples/vfio-mdev/mtty.c              |   1 -
 16 files changed, 197 insertions(+), 202 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2022-11-04 19:48 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-02 15:01 [PATCH v2 0/7] vfio-ccw parent rework Eric Farman
2022-11-02 15:01 ` [Intel-gfx] " Eric Farman
2022-11-02 15:01 ` Eric Farman
2022-11-02 15:01 ` [PATCH v2 1/7] vfio/ccw: create a parent struct Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-02 19:29   ` Eric Farman
2022-11-02 19:29     ` [Intel-gfx] " Eric Farman
2022-11-02 19:29     ` Eric Farman
2022-11-02 20:00     ` Matthew Rosato
2022-11-02 20:00       ` Matthew Rosato
2022-11-02 20:00       ` [Intel-gfx] " Matthew Rosato
2022-11-03 23:10   ` Matthew Rosato
2022-11-03 23:10     ` [Intel-gfx] " Matthew Rosato
2022-11-03 23:10     ` Matthew Rosato
2022-11-02 15:01 ` [PATCH v2 2/7] vfio/ccw: remove private->sch Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-02 15:01 ` [PATCH v2 3/7] vfio/ccw: move private initialization to callback Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-02 15:01 ` [PATCH v2 4/7] vfio/ccw: move private to mdev lifecycle Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-03 23:22   ` Matthew Rosato
2022-11-03 23:22     ` [Intel-gfx] " Matthew Rosato
2022-11-03 23:22     ` Matthew Rosato
2022-11-04 12:27     ` Eric Farman
2022-11-04 12:27       ` [Intel-gfx] " Eric Farman
2022-11-04 12:27       ` Eric Farman
2022-11-02 15:01 ` [PATCH v2 5/7] vfio/ccw: remove release completion Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-03 23:24   ` Matthew Rosato
2022-11-03 23:24     ` [Intel-gfx] " Matthew Rosato
2022-11-03 23:24     ` Matthew Rosato
2022-11-02 15:01 ` [PATCH v2 6/7] vfio/ccw: replace vfio_init_device with _alloc_ Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-03 23:32   ` Matthew Rosato
2022-11-03 23:32     ` Matthew Rosato
2022-11-03 23:32     ` [Intel-gfx] " Matthew Rosato
2022-11-02 15:01 ` [PATCH v2 7/7] vfio: Remove vfio_free_device Eric Farman
2022-11-02 15:01   ` [Intel-gfx] " Eric Farman
2022-11-02 15:01   ` Eric Farman
2022-11-02 15:33   ` Cornelia Huck
2022-11-02 15:33     ` [Intel-gfx] " Cornelia Huck
2022-11-02 15:33     ` Cornelia Huck
2022-11-02 17:36   ` Anthony Krowiak
2022-11-02 17:36     ` [Intel-gfx] " Anthony Krowiak
2022-11-02 17:36     ` Anthony Krowiak
2022-11-03 23:34   ` Matthew Rosato
2022-11-03 23:34     ` [Intel-gfx] " Matthew Rosato
2022-11-03 23:34     ` Matthew Rosato
2022-11-02 16:54 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for vfio-ccw parent rework (rev2) Patchwork
2022-11-02 16:54 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2022-11-02 17:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-11-02 22:15 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-11-03 21:56 ` [PATCH v2 0/7] vfio-ccw parent rework Alex Williamson
2022-11-03 21:56   ` Alex Williamson
2022-11-03 21:56   ` [Intel-gfx] " Alex Williamson
2022-11-03 23:43   ` Matthew Rosato
2022-11-03 23:43     ` [Intel-gfx] " Matthew Rosato
2022-11-03 23:43     ` Matthew Rosato
2022-11-04 12:23     ` Eric Farman
2022-11-04 12:23       ` [Intel-gfx] " Eric Farman
2022-11-04 12:23       ` Eric Farman

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.