From: Lu Baolu <baolu.lu@linux.intel.com>
To: Jason Gunthorpe <jgg@ziepe.ca>, Kevin Tian <kevin.tian@intel.com>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Nicolin Chen <nicolinc@nvidia.com>, Yi Liu <yi.l.liu@intel.com>
Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: [PATCH 1/3] iommufd: Remove IOMMUFD_PAGE_RESP_FAILURE
Date: Wed, 10 Jul 2024 16:33:39 +0800 [thread overview]
Message-ID: <20240710083341.44617-2-baolu.lu@linux.intel.com> (raw)
In-Reply-To: <20240710083341.44617-1-baolu.lu@linux.intel.com>
The response code of IOMMUFD_PAGE_RESP_FAILURE was defined to be
equivalent to the "Response Failure" in PCI spec, section 10.4.2.1.
This response code indicates that one or more pages within the
associated request group have encountered or caused an unrecoverable
error. Therefore, this response disables the PRI at the function.
Modern I/O virtualization technologies, like SR-IOV, share PRI among
the assignable device units. Therefore, a response failure on one unit
might cause I/O failure on other units.
Remove this response code so that user space can only respond with
SUCCESS or INVALID. The VMM is recommended to emulate a failure response
as a PRI reset, or PRI disable and changing to a non-PRI domain.
Fixes: c714f15860fc ("iommufd: Add fault and response message definitions")
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
include/uapi/linux/iommufd.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/include/uapi/linux/iommufd.h b/include/uapi/linux/iommufd.h
index ede2b464a761..e31385b75d0b 100644
--- a/include/uapi/linux/iommufd.h
+++ b/include/uapi/linux/iommufd.h
@@ -765,14 +765,10 @@ struct iommu_hwpt_pgfault {
* @IOMMUFD_PAGE_RESP_INVALID: Could not handle this fault, don't retry the
* access. This is the "Invalid Request" in PCI
* 10.4.2.1.
- * @IOMMUFD_PAGE_RESP_FAILURE: General error. Drop all subsequent faults from
- * this device if possible. This is the "Response
- * Failure" in PCI 10.4.2.1.
*/
enum iommufd_page_response_code {
IOMMUFD_PAGE_RESP_SUCCESS = 0,
IOMMUFD_PAGE_RESP_INVALID,
- IOMMUFD_PAGE_RESP_FAILURE,
};
/**
--
2.34.1
next prev parent reply other threads:[~2024-07-10 8:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-10 8:33 [PATCH 0/3] iommufd: Avoid PRI Response Failure Lu Baolu
2024-07-10 8:33 ` Lu Baolu [this message]
2024-07-10 9:45 ` [PATCH 1/3] iommufd: Remove IOMMUFD_PAGE_RESP_FAILURE Tian, Kevin
2024-07-10 8:33 ` [PATCH 2/3] iommufd: Add check on user response code Lu Baolu
2024-07-10 9:47 ` Tian, Kevin
2024-07-11 23:39 ` Jason Gunthorpe
2024-07-12 2:54 ` Baolu Lu
2024-07-12 12:43 ` Jason Gunthorpe
2024-07-10 8:33 ` [PATCH 3/3] iommu: Convert response code from failure to invalid Lu Baolu
2024-07-10 9:56 ` Tian, Kevin
2024-07-11 4:42 ` Baolu Lu
2024-07-11 23:37 ` Jason Gunthorpe
2024-07-11 23:45 ` [PATCH 0/3] iommufd: Avoid PRI Response Failure Jason Gunthorpe
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=20240710083341.44617-2-baolu.lu@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@ziepe.ca \
--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=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