From: Jason Gunthorpe <jgg@nvidia.com>
To: Will Deacon <will@kernel.org>
Cc: iommu@lists.linux.dev, Joerg Roedel <joro@8bytes.org>,
linux-arm-kernel@lists.infradead.org,
Robin Murphy <robin.murphy@arm.com>,
Eric Auger <eric.auger@redhat.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
Jerry Snitselaar <jsnitsel@redhat.com>,
Moritz Fischer <mdf@kernel.org>,
Michael Shavit <mshavit@google.com>,
Nicolin Chen <nicolinc@nvidia.com>,
patches@lists.linux.dev,
Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
Subject: Re: [PATCH v9 02/14] iommu/arm-smmu-v3: Start building a generic PASID layer
Date: Mon, 7 Oct 2024 14:43:22 -0300 [thread overview]
Message-ID: <20241007174322.GC1365916@nvidia.com> (raw)
In-Reply-To: <20240906140853.GA17187@willie-the-truck>
On Fri, Sep 06, 2024 at 03:08:54PM +0100, Will Deacon wrote:
> - We have a bunch of comments around 'arm_smmu_asid_lock' that refer
> to arm_smmu_share_asid(), which no longer exists.
So, we can go ahead and put back the BTM support in the pre-existing
slightly racy form. I think we can turn it on for guest support by
operating it only if there is no S2 support in HW which would make it
justified.
Or we could delete the 'arm_smmu_asid_lock' for now.
My idea to fix the race goes through making the domains sharable
across instances because that will change the invalidation in a way
that lets double invalidation happen during the ASID change.
I was planning to wait for that, but it looks like it will be more
time. It is linked to the viommu work which needs to go first.
> - arm_smmu_attach_dev() takes/drops/re-takes the devices_lock indirectly
> when it calls arm_smmu_attach_prepare() and arm_smmu_attach_commit().
This isn't retaking a lock, the operation being locked ran to
completion, we just need to run two operations..
> - arm_smmu_attach_dev() takes/drops 'arm_smmu_asid_lock' via
> arm_smmu_domain_finalise()) and then re-takes it before the attach.
finalize won't be called from arm_smmu_attach_dev() very soon, they
are unrelated operations.
> Please note, I'm not saying that there's a bug here, just that it would
> be easier to work with if we had some documentation and lock ordering
> assertions.
There are more assertions than there was now, I think most of the new
code has them already, excluding the group mutex.
Jason
next prev parent reply other threads:[~2024-10-07 17:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-25 12:37 [PATCH v9 00/14] Update SMMUv3 to the modern iommu API (part 2b/3) Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 01/14] iommu/arm-smmu-v3: Convert to domain_alloc_sva() Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 02/14] iommu/arm-smmu-v3: Start building a generic PASID layer Jason Gunthorpe
2024-07-02 14:57 ` Will Deacon
2024-07-02 17:03 ` Nicolin Chen
2024-07-09 19:39 ` Jason Gunthorpe
2024-09-06 14:08 ` Will Deacon
2024-10-07 17:43 ` Jason Gunthorpe [this message]
2024-06-25 12:37 ` [PATCH v9 03/14] iommu/arm-smmu-v3: Make smmu_domain->devices into an allocated list Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 04/14] iommu/arm-smmu-v3: Make changing domains be hitless for ATS Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 05/14] iommu/arm-smmu-v3: Add ssid to struct arm_smmu_master_domain Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 06/14] iommu/arm-smmu-v3: Do not use master->sva_enable to restrict attaches Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 07/14] iommu/arm-smmu-v3: Thread SSID through the arm_smmu_attach_*() interface Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 08/14] iommu/arm-smmu-v3: Make SVA allocate a normal arm_smmu_domain Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 09/14] iommu/arm-smmu-v3: Keep track of arm_smmu_master_domain for SVA Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 10/14] iommu/arm-smmu-v3: Put the SVA mmu notifier in the smmu_domain Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 11/14] iommu/arm-smmu-v3: Allow IDENTITY/BLOCKED to be set while PASID is used Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 12/14] iommu/arm-smmu-v3: Test the STE S1DSS functionality Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 13/14] iommu/arm-smmu-v3: Allow a PASID to be set when RID is IDENTITY/BLOCKED Jason Gunthorpe
2024-06-25 12:37 ` [PATCH v9 14/14] iommu/arm-smmu-v3: Allow setting a S1 domain to a PASID Jason Gunthorpe
2024-07-02 18:43 ` [PATCH v9 00/14] Update SMMUv3 to the modern iommu API (part 2b/3) Will Deacon
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=20241007174322.GC1365916@nvidia.com \
--to=jgg@nvidia.com \
--cc=eric.auger@redhat.com \
--cc=iommu@lists.linux.dev \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=jsnitsel@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mdf@kernel.org \
--cc=mshavit@google.com \
--cc=nicolinc@nvidia.com \
--cc=patches@lists.linux.dev \
--cc=robin.murphy@arm.com \
--cc=shameerali.kolothum.thodi@huawei.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 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).