Re: [PATCH v3 4/6] mm: Add structure to keep sva information

From: Vasant Hegde
Date: Tue Sep 05 2023 - 12:33:47 EST




On 9/5/2023 5:39 AM, Tina Zhang wrote:
> Introduce iommu_mm_data structure to keep sva information (pasid and the
> related sva domains). Add iommu_mm pointer, pointing to an instance of
> iommu_mm_data structure, to mm.
>
> Signed-off-by: Tina Zhang <tina.zhang@xxxxxxxxx>

Looks good to me.

Reviewed-by: Vasant Hegde <vasant.hegde@xxxxxxx>

-Vasant


> ---
> include/linux/iommu.h | 5 +++++
> include/linux/mm_types.h | 2 ++
> 2 files changed, 7 insertions(+)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index ab8784dfdbd9..937f3abc26f2 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -670,6 +670,11 @@ struct iommu_sva {
> struct iommu_domain *domain;
> };
>
> +struct iommu_mm_data {
> + u32 pasid;
> + struct list_head sva_domains;
> +};
> +
> int iommu_fwspec_init(struct device *dev, struct fwnode_handle *iommu_fwnode,
> const struct iommu_ops *ops);
> void iommu_fwspec_free(struct device *dev);
> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> index 7d30dc4ff0ff..b486f521afee 100644
> --- a/include/linux/mm_types.h
> +++ b/include/linux/mm_types.h
> @@ -595,6 +595,7 @@ struct mm_cid {
> #endif
>
> struct kioctx_table;
> +struct iommu_mm_data;
> struct mm_struct {
> struct {
> /*
> @@ -808,6 +809,7 @@ struct mm_struct {
>
> #ifdef CONFIG_IOMMU_SVA
> u32 pasid;
> + struct iommu_mm_data *iommu_mm;
> #endif
> #ifdef CONFIG_KSM
> /*