> From: Jason Gunthorpe <j...@nvidia.com>
> Sent: Tuesday, March 15, 2022 10:33 PM
> 
> On Mon, Mar 14, 2022 at 10:07:07PM -0700, Jacob Pan wrote:
> > +   /*
> > +    * Each domain could have multiple devices attached with shared or
> per
> > +    * device PASIDs. At the domain level, we keep track of unique PASIDs
> and
> > +    * device user count.
> > +    * E.g. If a domain has two devices attached, device A has PASID 0, 1;
> > +    * device B has PASID 0, 2. Then the domain would have PASID 0, 1, 2.
> > +    */
> 
> A 2d array of xarray's seems like a poor data structure for this task.

besides that it also doesn't work when we support per-device PASID allocation
in the future. In that case merging device PASIDs together is conceptually
wrong.

> 
> AFACIT this wants to store a list of (device, pasid) tuples, so a
> simple linked list, 1d xarray vector or a red black tree seems more
> appropriate..
> 

this tuple can well serve per-device PASID. 😊

Thanks
Kevin
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to