On Thu, Feb 27, 2025 at 05:03:36PM -0400, Jason Gunthorpe wrote: > On Thu, Feb 27, 2025 at 12:59:04PM -0800, Nicolin Chen wrote: > > On Thu, Feb 27, 2025 at 03:50:36PM -0400, Jason Gunthorpe wrote: > > > On Wed, Feb 26, 2025 at 12:16:05PM -0800, Nicolin Chen wrote: > > > > The iommu_put_dma_cookie() will be moved out of iommu_domain_free(). For a > > > > default domain, iommu_put_dma_cookie() can be simply added to this helper. > > > > > > > > Suggested-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > > > > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> > > > > --- > > > > drivers/iommu/iommu.c | 11 ++++++++--- > > > > 1 file changed, 8 insertions(+), 3 deletions(-) > > > > > > Let's try to do what Robin suggested and put a private_data_owner > > > value in the struct then this patch isn't used, we'd just do > > > > > > if (domain->private_data_owner == DMA) > > > iommu_put_dma_cookie(domain); > > > > > > Instead of this change and the similar VFIO change > > > > Ack. I assume I should go with a smaller series starting with this > > "private_data_owner", and then later a bigger series for the other > > bits like translation_type that you mentioned in the other thread. > > That could work, you could bitfiled type and steal a few bits for > "private_data_owner" ? > > Then try the sw_msi removal at the same time too? Ack. I drafted four patches: iommu: Add private_data_owner to iommu_domain_free iommu: Turn iova_cookie to dma-iommu private pointer iommufd: Move iommufd_sw_msi and related functions to driver.c iommu: Drop sw_msi from iommu_domain Will do some proper build tests and then wrap them up. Thanks Nicolin