From: Jason Gunthorpe <jgg@nvidia.com>
To: David Airlie <airlied@linux.ie>,
Tony Krowiak <akrowiak@linux.ibm.com>,
Alex Williamson <alex.williamson@redhat.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Cornelia Huck <cohuck@redhat.com>,
Jonathan Corbet <corbet@lwn.net>, Daniel Vetter <daniel@ffwll.ch>,
dri-devel@lists.freedesktop.org,
Eric Farman <farman@linux.ibm.com>,
Harald Freudenberger <freude@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
intel-gfx@lists.freedesktop.org,
intel-gvt-dev@lists.freedesktop.org,
Jani Nikula <jani.nikula@linux.intel.com>,
Jason Herne <jjherne@linux.ibm.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
kvm@vger.kernel.org, Kirti Wankhede <kwankhede@nvidia.com>,
linux-doc@vger.kernel.org, linux-s390@vger.kernel.org,
Matthew Rosato <mjrosato@linux.ibm.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>,
Halil Pasic <pasic@linux.ibm.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Vineeth Vijayan <vneethv@linux.ibm.com>,
Zhenyu Wang <zhenyuw@linux.intel.com>,
Zhi Wang <zhi.a.wang@intel.com>
Cc: Christoph Hellwig <hch@infradead.org>, Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v3 00/10] Move vfio_ccw to the new mdev API
Date: Wed, 20 Oct 2021 19:48:26 -0300 [thread overview]
Message-ID: <20211020224826.GA21930@nvidia.com> (raw)
In-Reply-To: <0-v3-57c1502c62fd+2190-ccw_mdev_jgg@nvidia.com>
On Fri, Oct 01, 2021 at 02:52:41PM -0300, Jason Gunthorpe wrote:
> This addresses Cornelia's remark on the earlier patch that ccw has a
> confusing lifecycle. While it doesn't seem like the original attempt was
> functionally wrong, the result can be made better with a lot of further
> work.
>
> Reorganize the driver so that the mdev owns the private memory and
> controls the lifecycle, not the css_driver. The memory associated with the
> css_driver lifecycle is only the mdev_parent/mdev_type registration.
>
> Along the way we change when the sch is quiescent or not to be linked to
> the open/close_device lifetime of the vfio_device, which is sort of what
> it was tring to do already, just not completely.
>
> The troublesome racey lifecycle of the css_driver callbacks is made clear
> with simple vfio_device refcounting so a callback is only delivered into a
> registered vfio_device and has obvious correctness.
>
> Move the only per-css_driver state, the "available instance" counter, into
> the core code and share that logic with many of the other drivers. The
> value is kept in the mdev_type memory.
>
> This is on github: https://github.com/jgunthorpe/linux/commits/vfio_ccw
>
> v3:
> - Rebase to Christoph's group work & rc3; use
> vfio_register_emulated_iommu_dev()
> - Remove GFP_DMA
> - Order mdev_unregister_driver() symmetrically with init
> - Rework what is considered a BROKEN event in fsm_close()
> - NOP both CCW_EVENT_OPEN/CLOSE
> - Documentation updates
> - Remane goto label to err_init vfio_ccw_mdev_probe()
> - Fix NULL pointer deref in mdev_device_create()
> v2: https://lore.kernel.org/r/0-v2-7d3a384024cf+2060-ccw_mdev_jgg@nvidia.com
> - Clean up the lifecycle in ccw with 7 new patches
> - Rebase
> v1: https://lore.kernel.org/all/7-v2-7667f42c9bad+935-vfio3_jgg@nvidia.com
>
> Jason Gunthorpe (10):
> vfio/ccw: Remove unneeded GFP_DMA
> vfio/ccw: Use functions for alloc/free of the vfio_ccw_private
> vfio/ccw: Pass vfio_ccw_private not mdev_device to various functions
> vfio/ccw: Convert to use vfio_register_emulated_iommu_dev()
IBM folks, what do you want to do with this? I would like to go ahead
with these patches so we can get closer to unblocking some of the VFIO
core work.
These patches:
> vfio/ccw: Make the FSM complete and synchronize it to the mdev
> vfio/mdev: Consolidate all the device_api sysfs into the core code
> vfio/mdev: Add mdev available instance checking to the core
> vfio/ccw: Remove private->mdev
> vfio: Export vfio_device_try_get()
> vfio/ccw: Move the lifecycle of the struct vfio_ccw_private to the
> mdev
Where made to show how to structure this more cleanly as Cornelia
asked but are not essential and IBMers could test and fix to get this
cleanup when time permits..
Thoughts?
Thanks,
Jason
next prev parent reply other threads:[~2021-10-20 22:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-01 17:52 [PATCH v3 00/10] Move vfio_ccw to the new mdev API Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 01/10] vfio/ccw: Remove unneeded GFP_DMA Jason Gunthorpe
2021-10-21 13:32 ` Matthew Rosato
2021-10-21 14:35 ` Eric Farman
2021-10-01 17:52 ` [PATCH v3 02/10] vfio/ccw: Use functions for alloc/free of the vfio_ccw_private Jason Gunthorpe
2021-10-21 13:50 ` Matthew Rosato
2021-10-01 17:52 ` [PATCH v3 03/10] vfio/ccw: Pass vfio_ccw_private not mdev_device to various functions Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 04/10] vfio/ccw: Convert to use vfio_register_emulated_iommu_dev() Jason Gunthorpe
2021-10-21 18:09 ` Eric Farman
2021-10-01 17:52 ` [PATCH v3 05/10] vfio/ccw: Make the FSM complete and synchronize it to the mdev Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 06/10] vfio/mdev: Consolidate all the device_api sysfs into the core code Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 07/10] vfio/mdev: Add mdev available instance checking to the core Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 08/10] vfio/ccw: Remove private->mdev Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 09/10] vfio: Export vfio_device_try_get() Jason Gunthorpe
2021-10-01 17:52 ` [PATCH v3 10/10] vfio/ccw: Move the lifecycle of the struct vfio_ccw_private to the mdev Jason Gunthorpe
2021-10-20 22:48 ` Jason Gunthorpe [this message]
2021-10-21 13:35 ` [PATCH v3 00/10] Move vfio_ccw to the new mdev API Eric Farman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211020224826.GA21930@nvidia.com \
--to=jgg@nvidia.com \
--cc=airlied@linux.ie \
--cc=akrowiak@linux.ibm.com \
--cc=alex.williamson@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=corbet@lwn.net \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=farman@linux.ibm.com \
--cc=freude@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=jjherne@linux.ibm.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=kwankhede@nvidia.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mjrosato@linux.ibm.com \
--cc=oberpar@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=rodrigo.vivi@intel.com \
--cc=vneethv@linux.ibm.com \
--cc=zhenyuw@linux.intel.com \
--cc=zhi.a.wang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).