RE: [PATCH v2 1/2] iommu: Prevent RESV_DIRECT devices from blocking domains

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Sent: Friday, July 21, 2023 11:10 PM
> 
> On Fri, Jul 21, 2023 at 03:07:47AM +0000, Tian, Kevin wrote:
> > > @@ -974,13 +972,17 @@ static int
> > > iommu_create_device_direct_mappings(struct iommu_domain *domain,
> > >  		dma_addr_t start, end, addr;
> > >  		size_t map_size = 0;
> > >
> > > +		if (entry->type == IOMMU_RESV_DIRECT)
> > > +			dev->iommu->requires_direct = 1;
> > > +
> > > +		if ((entry->type != IOMMU_RESV_DIRECT &&
> > > +		     entry->type != IOMMU_RESV_DIRECT_RELAXABLE) ||
> > > +		    !iommu_is_dma_domain(domain))
> > > +			continue;
> >
> > piggybacking a device attribute detection in a function which tries to
> > populate domain mappings is a bit confusing.
> 
> It is, but to do otherwise we'd want to have the caller obtain the
> reserved regions list and iterate it twice. Not sure it is worth the
> trouble right now.
> 

Not a strong opinion but It's a slow path and readability is more
preferable to me. 😊




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux