RE: [PATCH 1/3] iommufd: Remove IOMMUFD_PAGE_RESP_FAILURE

From: Tian, Kevin
Date: Wed Jul 10 2024 - 05:46:39 EST


> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> Sent: Wednesday, July 10, 2024 4:34 PM
>
> 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@xxxxxxxxxxxxxxx>
> ---
> 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,
> };
>

It's probably good to add some words here for why FAILURE is
not allowed.

Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>