Re: [PATCH v5 05/19] iommufd: Document overview of iommufd

Jason Gunthorpe
2022-12-01T00:09:00Z

On Wed, Nov 30, 2022 at 11:06:51PM +0800, Binbin Wu wrote:

> > +iommufd_ioas serves as the metadata datastructure to manage how IOVA ranges are
> > +mapped to memory pages, composed of:
> > +
> > +- struct io_pagetable holding the IOVA map
> > +- struct iopt_areas
>
> The struct name should be iopt_area, adding "s" is a typo or intented for
> plural?

Yes, plural, I'll add a quote:

- struct iopt_area's representing populated portions of IOVA

> > representing populated portions of IOVA
> > +- struct iopt_pages representing the storage of PFNs
> > +- struct iommu_domain representing the IO page table in the IOMMU
> > +- struct iopt_pages_access representing in-kernel users of PFNs
> > +- struct xarray pinned_pfns holding a list of pages pinned by in-kernel users
> > +
> > +Each iopt_pages represents a logical linear array of full PFNs. The PFNs are
> > +ultimately derived from userspave
>
> typo, userspave -> userspace
>
>
> > VAs via an mm_struct. Once they have been
> > +pinned the PFNs are stored in IOPTEs of an iommu_domain or inside the pinned_pages
>
> pinned_pages -> pinned_pfns?

Yep

Got all the other stuff too!

Thanks,
Jason