From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: David Woodhouse <dwmw2@infradead.org>,
iommu@lists.linux.dev, Joerg Roedel <joro@8bytes.org>,
Len Brown <lenb@kernel.org>,
linux-acpi@vger.kernel.org,
"Rafael J. Wysocki" <rafael@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Will Deacon <will@kernel.org>, Kevin Tian <kevin.tian@intel.com>,
Nicolin Chen <nicolinc@nvidia.com>
Subject: Re: [PATCH v2 05/10] iommu: Add iommu_init/deinit_device() paired functions
Date: Fri, 2 Jun 2023 14:20:30 -0300 [thread overview]
Message-ID: <ZHok3ls1dP7168Mn@nvidia.com> (raw)
In-Reply-To: <5bcb5f03-77c9-116e-c436-9d0af21fa82a@linux.intel.com>
On Sun, May 21, 2023 at 07:31:38PM +0800, Baolu Lu wrote:
> I revisited this patch. And I still have some questions.
>
> On 5/20/23 2:42 AM, Jason Gunthorpe wrote:
> > -/*
> > - * Remove the iommu_group from the struct device. The attached group must be put
> > - * by the caller after releaseing the group->mutex.
> > - */
> > +/* Remove the iommu_group from the struct device. */
> > static void __iommu_group_remove_device(struct device *dev)
> > {
> > struct iommu_group *group = dev->iommu_group;
> > struct group_device *device;
> > + mutex_lock(&group->mutex);
> > lockdep_assert_held(&group->mutex);
>
> By moving mutex_lock/unlock into this helper, above
> lockdep_assert_held() is unnecessary.
Woops, got it thanks
> The group->devices_kobj was increased on the probe device path twice:
>
> - iommu_init_device() - allocate the group
> - iommu_group_add_device() - add device to the group
>
> But, on the release path, it seems that group->devices_kobj is only
> decreased once.
>
> Did I overlook anything? Otherwise, the group will never be released,
> right?
Your answer was right, when VFIO uses add/remove device it doesn't do
init_device.
Jason
next prev parent reply other threads:[~2023-06-02 17:20 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-19 18:42 [PATCH v2 00/10] Consolidate the probe_device path Jason Gunthorpe
2023-05-19 18:42 ` [PATCH v2 01/10] iommu: Have __iommu_probe_device() check for already probed devices Jason Gunthorpe
2023-05-21 8:17 ` Baolu Lu
2023-05-22 12:18 ` Rafael J. Wysocki
2023-05-19 18:42 ` [PATCH v2 02/10] iommu: Use iommu_group_ref_get/put() for dev->iommu_group Jason Gunthorpe
2023-05-21 8:18 ` Baolu Lu
2023-05-19 18:42 ` [PATCH v2 03/10] iommu: Inline iommu_group_get_for_dev() into __iommu_probe_device() Jason Gunthorpe
2023-05-21 8:19 ` Baolu Lu
2023-06-02 17:17 ` Jason Gunthorpe
2023-05-19 18:42 ` [PATCH v2 04/10] iommu: Simplify the __iommu_group_remove_device() flow Jason Gunthorpe
2023-05-21 9:08 ` Baolu Lu
2023-05-22 8:35 ` Niklas Schnelle
2023-05-29 19:33 ` Jason Gunthorpe
2023-05-19 18:42 ` [PATCH v2 05/10] iommu: Add iommu_init/deinit_device() paired functions Jason Gunthorpe
2023-05-21 11:09 ` Baolu Lu
2023-05-21 11:31 ` Baolu Lu
2023-05-22 2:31 ` Baolu Lu
2023-06-02 17:20 ` Jason Gunthorpe [this message]
2023-05-19 18:42 ` [PATCH v2 06/10] iommu: Move the iommu driver sysfs setup into iommu_init/deinit_device() Jason Gunthorpe
2023-05-22 0:51 ` Baolu Lu
2023-05-19 18:42 ` [PATCH v2 07/10] iommu: Do not export iommu_device_link/unlink() Jason Gunthorpe
2023-05-22 0:52 ` Baolu Lu
2023-05-19 18:42 ` [PATCH v2 08/10] iommu: Always destroy the iommu_group during iommu_release_device() Jason Gunthorpe
2023-05-22 1:43 ` Baolu Lu
2023-05-19 18:42 ` [PATCH v2 09/10] iommu: Split iommu_group_add_device() Jason Gunthorpe
2023-05-22 2:34 ` Baolu Lu
2023-05-25 5:37 ` Tian, Kevin
2023-05-19 18:42 ` [PATCH v2 10/10] iommu: Avoid locking/unlocking for iommu_probe_device() Jason Gunthorpe
2023-05-22 2:39 ` Baolu Lu
2023-05-25 5:37 ` Tian, Kevin
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=ZHok3ls1dP7168Mn@nvidia.com \
--to=jgg@nvidia.com \
--cc=baolu.lu@linux.intel.com \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=nicolinc@nvidia.com \
--cc=rafael@kernel.org \
--cc=robin.murphy@arm.com \
--cc=will@kernel.org \
/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 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.