From: Jason Gunthorpe <jgg@ziepe.ca>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: Baolu Lu <baolu.lu@linux.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>,
"Liu, Yi L" <yi.l.liu@intel.com>,
Jacob Pan <jacob.jun.pan@linux.intel.com>,
Joel Granados <j.granados@samsung.com>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 05/10] iommufd: Add fault and response message definitions
Date: Wed, 12 Jun 2024 10:19:46 -0300 [thread overview]
Message-ID: <20240612131946.GT791043@ziepe.ca> (raw)
In-Reply-To: <BN9PR11MB52764D7EF1EEDA95B694E8B68CFB2@BN9PR11MB5276.namprd11.prod.outlook.com>
On Fri, Jun 07, 2024 at 09:38:38AM +0000, Tian, Kevin wrote:
> > From: Baolu Lu <baolu.lu@linux.intel.com>
> > Sent: Thursday, June 6, 2024 2:28 PM
> >
> > On 6/5/24 4:28 PM, Tian, Kevin wrote:
> > >> From: Lu Baolu <baolu.lu@linux.intel.com>
> > >> Sent: Monday, May 27, 2024 12:05 PM
> > >>
> > >> +
> > >> +/**
> > >> + * struct iommu_hwpt_page_response - IOMMU page fault response
> > >> + * @size: sizeof(struct iommu_hwpt_page_response)
> > >> + * @flags: Must be set to 0
> > >> + * @dev_id: device ID of target device for the response
> > >> + * @pasid: Process Address Space ID
> > >> + * @grpid: Page Request Group Index
> > >> + * @code: One of response code in enum
> > iommufd_page_response_code.
> > >> + * @cookie: The kernel-managed cookie reported in the fault message.
> > >> + */
> > >> +struct iommu_hwpt_page_response {
> > >> + __u32 size;
> > >> + __u32 flags;
> > >> + __u32 dev_id;
> > >> + __u32 pasid;
> > >> + __u32 grpid;
> > >> + __u32 code;
> > >> + __u32 cookie;
> > >> + __u32 reserved;
> > >> +};
> > >
> > > with the response queue per fault object we don't need all fields here,
> > > e.g. dev_id, pasid, etc. Cookie is sufficient.
Wait, why did we make it per object? The fault FD is supposed to be
sharable across HWPTs.
> > I prefer not to mess the definition of user API data and the kernel
> > driver implementation. The kernel driver may change in the future, but
> > the user API will remain stable for a long time.
>
> sure it remains stable for reasonable reason. Here we defined some
> fields but they are even not used and checked in the kernel. IMHO it
> suggests redundant definition. If there is value to keep them, do we
> need to at least verify them same as the completion record?
They are not here for the kernel, they are here for userspace.
A single HWPT and a single fault queue can be attached to multiple
devices we need to return the dev_id so that userspace can know which
device initiated the PRI. Same with PASID.
The only way we could remove them is if we are sure that no vIOMMU
requires RID or PASID in the virtual fault queue PRI fault message.. I
don't think that is true?
Cookie is not a replacement, cookie is an opaque value for the kernel
to use to match a response to a request.
Jason
next prev parent reply other threads:[~2024-06-12 13:19 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-27 4:05 [PATCH v6 00/10] IOMMUFD: Deliver IO page faults to user space Lu Baolu
2024-05-27 4:05 ` [PATCH v6 01/10] iommu: Introduce domain attachment handle Lu Baolu
2024-06-05 8:02 ` Tian, Kevin
2024-06-06 5:33 ` Baolu Lu
2024-06-12 13:10 ` Jason Gunthorpe
2024-06-13 3:04 ` Baolu Lu
2024-05-27 4:05 ` [PATCH v6 02/10] iommu: Remove sva handle list Lu Baolu
2024-06-05 8:15 ` Tian, Kevin
2024-06-06 6:06 ` Baolu Lu
2024-06-07 9:35 ` Tian, Kevin
2024-06-12 13:05 ` Jason Gunthorpe
2024-06-13 4:06 ` Baolu Lu
2024-05-27 4:05 ` [PATCH v6 03/10] iommu: Add attach handle to struct iopf_group Lu Baolu
2024-06-05 8:23 ` Tian, Kevin
2024-06-06 6:18 ` Baolu Lu
2024-06-12 13:37 ` Jason Gunthorpe
2024-06-13 4:23 ` Baolu Lu
2024-06-13 11:49 ` Jason Gunthorpe
2024-06-14 1:16 ` Baolu Lu
2024-05-27 4:05 ` [PATCH v6 04/10] iommu: Extend domain attach group with handle support Lu Baolu
2024-06-12 13:41 ` Jason Gunthorpe
2024-06-13 4:47 ` Baolu Lu
2024-05-27 4:05 ` [PATCH v6 05/10] iommufd: Add fault and response message definitions Lu Baolu
2024-06-05 8:28 ` Tian, Kevin
2024-06-06 6:27 ` Baolu Lu
2024-06-07 9:38 ` Tian, Kevin
2024-06-12 13:19 ` Jason Gunthorpe [this message]
2024-06-12 13:50 ` Jason Gunthorpe
2024-06-13 6:32 ` Baolu Lu
2024-06-13 4:54 ` Baolu Lu
2024-06-12 13:52 ` Jason Gunthorpe
2024-06-13 6:40 ` Baolu Lu
2024-05-27 4:05 ` [PATCH v6 06/10] iommufd: Add iommufd fault object Lu Baolu
2024-06-07 9:17 ` Tian, Kevin
2024-06-08 9:58 ` Baolu Lu
2024-06-12 13:25 ` Jason Gunthorpe
2024-06-13 6:44 ` Baolu Lu
2024-06-12 13:23 ` Jason Gunthorpe
2024-06-17 7:32 ` Tian, Kevin
2024-05-27 4:05 ` [PATCH v6 07/10] iommufd: Fault-capable hwpt attach/detach/replace Lu Baolu
2024-06-07 9:30 ` Tian, Kevin
2024-06-09 7:23 ` Baolu Lu
2024-06-17 7:37 ` Tian, Kevin
2024-05-27 4:05 ` [PATCH v6 08/10] iommufd: Associate fault object with iommufd_hw_pgtable Lu Baolu
2024-06-07 9:30 ` Tian, Kevin
2024-05-27 4:05 ` [PATCH v6 09/10] iommufd/selftest: Add IOPF support for mock device Lu Baolu
2024-05-27 4:05 ` [PATCH v6 10/10] iommufd/selftest: Add coverage for IOPF test Lu Baolu
2024-06-12 13:54 ` [PATCH v6 00/10] IOMMUFD: Deliver IO page faults to user space Jason Gunthorpe
2024-06-13 6:46 ` 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=20240612131946.GT791043@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