Re: [PATCH v13 11/13] iommu: Prepare IOMMU domain for IOPF

From: Jason Gunthorpe
Date: Thu Sep 22 2022 - 12:05:16 EST


On Tue, Sep 06, 2022 at 08:44:56PM +0800, Lu Baolu wrote:
> This adds some mechanisms around the iommu_domain so that the I/O page
> fault handling framework could route a page fault to the domain and
> call the fault handler from it.
>
> Add pointers to the page fault handler and its private data in struct
> iommu_domain. The fault handler will be called with the private data
> as a parameter once a page fault is routed to the domain. Any kernel
> component which owns an iommu domain could install handler and its
> private parameter so that the page fault could be further routed and
> handled.
>
> This also prepares the SVA implementation to be the first consumer of
> the per-domain page fault handling model. The I/O page fault handler
> for SVA is copied to the SVA file with mmget_not_zero() added before
> mmap_read_lock().
>
> Suggested-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx>
> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> Reviewed-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx>
> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>
> Tested-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
> Tested-by: Tony Zhu <tony.zhu@xxxxxxxxx>
> ---
> include/linux/iommu.h | 3 ++
> drivers/iommu/iommu-sva-lib.h | 8 +++++
> drivers/iommu/io-pgfault.c | 7 +++++
> drivers/iommu/iommu-sva-lib.c | 58 +++++++++++++++++++++++++++++++++++
> drivers/iommu/iommu.c | 4 +++
> 5 files changed, 80 insertions(+)

Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx>

Jason