From: Jason Gunthorpe <jgg@ziepe.ca>
To: Lu Baolu <baolu.lu@linux.intel.com>
Cc: Kevin Tian <kevin.tian@intel.com>, Joerg Roedel <joro@8bytes.org>,
Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
Nicolin Chen <nicolinc@nvidia.com>, Yi Liu <yi.l.liu@intel.com>,
Jacob Pan <jacob.jun.pan@linux.intel.com>,
Joel Granados <j.granados@samsung.com>,
iommu@lists.linux.dev, virtualization@lists.linux-foundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 03/10] iommu: Add attach handle to struct iopf_group
Date: Fri, 28 Jun 2024 17:48:44 -0300 [thread overview]
Message-ID: <Zn8hrOfw65PTvfYv@ziepe.ca> (raw)
In-Reply-To: <20240616061155.169343-4-baolu.lu@linux.intel.com>
On Sun, Jun 16, 2024 at 02:11:48PM +0800, Lu Baolu wrote:
> Previously, the domain that a page fault targets is stored in an
> iopf_group, which represents a minimal set of page faults. With the
> introduction of attach handle, replace the domain with the handle
> so that the fault handler can obtain more information as needed
> when handling the faults.
>
> iommu_report_device_fault() is currently used for SVA page faults,
> which handles the page fault in an internal cycle. The domain is retrieved
> with iommu_get_domain_for_dev_pasid() if the pasid in the fault message
> is valid. This doesn't work in IOMMUFD case, where if the pasid table of
> a device is wholly managed by user space, there is no domain attached to
> the PASID of the device, and all page faults are forwarded through a
> NESTING domain attaching to RID.
>
> Add a new IOMMU capability flag, IOMMU_CAP_USER_IOASID_TABLE, which
> indicates if the IOMMU driver supports user-managed PASID tables. In the
> iopf deliver path, if no attach handle found for the iopf PASID, roll
> back to RID domain when the IOMMU driver supports this capability.
This remark is out of date since it is now:
> @@ -547,6 +547,10 @@ static inline int __iommu_copy_struct_from_user_array(
> * @default_domain: If not NULL this will always be set as the default domain.
> * This should be an IDENTITY/BLOCKED/PLATFORM domain.
> * Do not use in new drivers.
> + * @user_pasid_table: IOMMU driver supports user-managed PASID table. There is
> + * no user domain for each PASID and the I/O page faults are
> + * forwarded through the user domain attached to the device
> + * RID.
> */
> struct iommu_ops {
> bool (*capable)(struct device *dev, enum iommu_cap);
> @@ -590,6 +594,7 @@ struct iommu_ops {
> struct iommu_domain *blocked_domain;
> struct iommu_domain *release_domain;
> struct iommu_domain *default_domain;
> + u8 user_pasid_table:1;
> };
Otherwise looks goot
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason
next prev parent reply other threads:[~2024-06-29 1:11 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-16 6:11 [PATCH v7 00/10] IOMMUFD: Deliver IO page faults to user space Lu Baolu
2024-06-16 6:11 ` [PATCH v7 01/10] iommu: Introduce domain attachment handle Lu Baolu
2024-06-28 20:46 ` Jason Gunthorpe
2024-06-16 6:11 ` [PATCH v7 02/10] iommu: Remove sva handle list Lu Baolu
2024-06-28 21:15 ` Jason Gunthorpe
2024-06-16 6:11 ` [PATCH v7 03/10] iommu: Add attach handle to struct iopf_group Lu Baolu
2024-06-17 7:41 ` Tian, Kevin
2024-06-18 1:35 ` Baolu Lu
2024-06-28 20:48 ` Jason Gunthorpe [this message]
2024-06-16 6:11 ` [PATCH v7 04/10] iommu: Extend domain attach group with handle support Lu Baolu
2024-06-28 21:06 ` Jason Gunthorpe
2024-06-29 3:58 ` Baolu Lu
2024-06-16 6:11 ` [PATCH v7 05/10] iommufd: Add fault and response message definitions Lu Baolu
2024-06-16 6:11 ` [PATCH v7 06/10] iommufd: Add iommufd fault object Lu Baolu
2024-06-28 22:14 ` Jason Gunthorpe
2024-06-16 6:11 ` [PATCH v7 07/10] iommufd: Fault-capable hwpt attach/detach/replace Lu Baolu
2024-06-28 21:17 ` Jason Gunthorpe
2024-07-01 5:55 ` Baolu Lu
2024-07-09 17:36 ` Jason Gunthorpe
2024-07-10 0:32 ` Tian, Kevin
2024-07-10 8:36 ` Baolu Lu
2024-06-16 6:11 ` [PATCH v7 08/10] iommufd: Associate fault object with iommufd_hw_pgtable Lu Baolu
2024-06-28 22:13 ` Jason Gunthorpe
2024-07-01 5:26 ` Baolu Lu
2024-06-16 6:11 ` [PATCH v7 09/10] iommufd/selftest: Add IOPF support for mock device Lu Baolu
2024-06-16 6:11 ` [PATCH v7 10/10] iommufd/selftest: Add coverage for IOPF test Lu Baolu
2024-06-17 7:46 ` [PATCH v7 00/10] IOMMUFD: Deliver IO page faults to user space Tian, Kevin
2024-06-28 22:14 ` Jason Gunthorpe
2024-07-02 6:42 ` Baolu Lu
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=Zn8hrOfw65PTvfYv@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=j.granados@samsung.com \
--cc=jacob.jun.pan@linux.intel.com \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nicolinc@nvidia.com \
--cc=robin.murphy@arm.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=will@kernel.org \
--cc=yi.l.liu@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).