On Tue, May 24, 2022 at 08:17:27AM -0700, Jacob Pan wrote: > Hi Jason, > > On Tue, 24 May 2022 10:50:34 -0300, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > > On Wed, May 18, 2022 at 11:21:15AM -0700, Jacob Pan wrote: > > > DMA requests tagged with PASID can target individual IOMMU domains. > > > Introduce a domain-wide PASID for DMA API, it will be used on the same > > > mapping as legacy DMA without PASID. Let it be IOVA or PA in case of > > > identity domain. > > > > Huh? I can't understand what this is trying to say or why this patch > > makes sense. > > > > We really should not have pasid's like this attached to the domains.. > > > This is the same "DMA API global PASID" you reviewed in v3, I just > singled it out as a standalone patch and renamed it. Here is your previous > review comment. > > > +++ b/include/linux/iommu.h > > @@ -105,6 +105,8 @@ struct iommu_domain { > > enum iommu_page_response_code (*iopf_handler)(struct iommu_fault *fault, > > void *data); > > void *fault_data; > > + ioasid_t pasid; /* Used for DMA requests with PASID */ > > + atomic_t pasid_users; > > These are poorly named, this is really the DMA API global PASID and > shouldn't be used for other things. > > > > Perhaps I misunderstood, do you mind explaining more? You still haven't really explained what this is for in this patch, maybe it just needs a better commit message, or maybe something is wrong. I keep saying the DMA API usage is not special, so why do we need to create a new global pasid and refcount? Realistically this is only going to be used by IDXD, why can't we just allocate a PASID and return it to the driver every time a driver asks for DMA API on PASI mode? Why does the core need to do anything special? Jason