Message ID | 20220602171948.2790690-1-farman@linux.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | VFIO ccw/mdev rework | expand |
On Thu, Jun 02, 2022 at 07:19:30PM +0200, Eric Farman wrote: > Last autumn, Jason Gunthorpe proposed some rework of vfio-ccw [1], > to better fit with the new mdev API (thank you!). Part of that > series was pulled for kernel 5.16 [2], but the complexities of > the remaining patches got them hung up behind other work. > > This series attempts to dust off and complete that, with the > goal of untangling the lifecycle of a s390 subchannel when > bound to vfio-ccw instead of the usual io_subchannel driver. > > Patches 1-8 are inspired by and/or split out from that series, > in order to be consumable on their own (backports, etc.). > > Patches 9-12 handle the goal of making the FSM complete, > and synchronizing the subchannel's life with that of the mdev. > (This was the goal of patch 5 of the larger series [3].) > > Patches 13-14 are pulled directly from the earlier series. > As these patches hit some other of the consumers of vfio, > those on CC who are unfamiliar with vfio-ccw probably only > care about these. :) > > Patches 15-18 links the lifecycle of the vfio_ccw_private struct > with the mdev via a vfio reference. (Patch 17 was also pulled > directly from the earlier series.) > > In the end, the subchannel probe/remove callbacks from the css > driver simply register/unregister with vfio-mdev. The communication > with the subchannel is delayed until the mdev routines, which > handles all the vfio-related memory and subchannel enablement. > There's no longer a configuration where the mdev is closed while > the subchannel remains enabled, since that's weird. This all looks great thanks! I would like this to go through the VFIO tree once you repost it on v5.19-rc1 > @Jason: I carried the S-o-b/r-b tags on patches 13, 14, and 17, > as they were cherry-picked straight from your v3. > If you'd prefer your S-o-b on others, please let me know. It is OK, you did a lot of work splitting things up Thanks, Jason
Hi Eric, On 2022/6/3 01:19, Eric Farman wrote: > Last autumn, Jason Gunthorpe proposed some rework of vfio-ccw [1], > to better fit with the new mdev API (thank you!). Part of that > series was pulled for kernel 5.16 [2], but the complexities of > the remaining patches got them hung up behind other work. > > This series attempts to dust off and complete that, with the > goal of untangling the lifecycle of a s390 subchannel when > bound to vfio-ccw instead of the usual io_subchannel driver. > > Patches 1-8 are inspired by and/or split out from that series, > in order to be consumable on their own (backports, etc.). > > Patches 9-12 handle the goal of making the FSM complete, > and synchronizing the subchannel's life with that of the mdev. > (This was the goal of patch 5 of the larger series [3].) > > Patches 13-14 are pulled directly from the earlier series. > As these patches hit some other of the consumers of vfio, > those on CC who are unfamiliar with vfio-ccw probably only > care about these. :) > > Patches 15-18 links the lifecycle of the vfio_ccw_private struct > with the mdev via a vfio reference. (Patch 17 was also pulled > directly from the earlier series.) > > In the end, the subchannel probe/remove callbacks from the css > driver simply register/unregister with vfio-mdev. The communication > with the subchannel is delayed until the mdev routines, which > handles all the vfio-related memory and subchannel enablement. > There's no longer a configuration where the mdev is closed while > the subchannel remains enabled, since that's weird. > > @Jason: I carried the S-o-b/r-b tags on patches 13, 14, and 17, > as they were cherry-picked straight from your v3. > If you'd prefer your S-o-b on others, please let me know. very nice to see it. do you have a 5.19 based branch including these changes on github? I'd like to rebase my vfio cdev patches on top of your changes. :-) > [1] https://lore.kernel.org/r/0-v3-57c1502c62fd+2190-ccw_mdev_jgg@nvidia.com/ > [2] https://lore.kernel.org/r/0-v4-cea4f5bd2c00+b52-ccw_mdev_jgg@nvidia.com/ > [3] https://lore.kernel.org/r/5-v3-57c1502c62fd+2190-ccw_mdev_jgg@nvidia.com/ > > Cc: Kirti Wankhede <kwankhede@nvidia.com> > Cc: Jonathan Corbet <corbet@lwn.net> > Cc: Zhenyu Wang <zhenyuw@linux.intel.com> > Cc: Zhi Wang <zhi.a.wang@intel.com> > Cc: intel-gvt-dev@lists.freedesktop.org > Cc: Tony Krowiak <akrowiak@linux.ibm.com> > Cc: Jason Herne <jjherne@linux.ibm.com> > > Eric Farman (14): > vfio/ccw: Fix FSM state if mdev probe fails > vfio/ccw: Ensure mdev->dev is cleared on mdev remove > vfio/ccw: Do not change FSM state in subchannel event > vfio/ccw: Remove private->mdev > vfio/ccw: Pass enum to FSM event jumptable > vfio/ccw: Flatten MDEV device (un)register > vfio/ccw: Check that private pointer is not NULL > vfio/ccw: Create an OPEN FSM Event > vfio/ccw: Create a CLOSE FSM event > vfio/ccw: Refactor vfio_ccw_mdev_reset > vfio/ccw: Move FSM open/close to MDEV open/close > vfio/ccw: Manage private with mdev > vfio/ccw: Create a get_private routine > vfio/ccw: Manage ccw/mdev reference counts > > Jason Gunthorpe (3): > vfio/mdev: Consolidate all the device_api sysfs into the core code > vfio/mdev: Add mdev available instance checking to the core > vfio: Export vfio_device_try_get() > > Michael Kawano (1): > vfio/ccw: Remove UUID from s390 debug log > > .../driver-api/vfio-mediated-device.rst | 8 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 9 +- > drivers/s390/cio/vfio_ccw_async.c | 1 - > drivers/s390/cio/vfio_ccw_drv.c | 114 ++++++-------- > drivers/s390/cio/vfio_ccw_fsm.c | 91 +++++++++-- > drivers/s390/cio/vfio_ccw_ops.c | 145 ++++++------------ > drivers/s390/cio/vfio_ccw_private.h | 33 +++- > drivers/s390/crypto/vfio_ap_ops.c | 41 ++--- > drivers/s390/crypto/vfio_ap_private.h | 2 - > drivers/vfio/mdev/mdev_core.c | 13 +- > drivers/vfio/mdev/mdev_private.h | 2 + > drivers/vfio/mdev/mdev_sysfs.c | 64 +++++++- > drivers/vfio/vfio.c | 3 +- > include/linux/mdev.h | 13 +- > include/linux/vfio.h | 1 + > samples/vfio-mdev/mbochs.c | 9 +- > samples/vfio-mdev/mdpy.c | 31 +--- > samples/vfio-mdev/mtty.c | 10 +- > 18 files changed, 300 insertions(+), 290 deletions(-) >