Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [PATCH v2 1/2] iommu: Prevent RESV_DIRECT devices from blocking domains | Date | Mon, 24 Jul 2023 02:15:40 +0000 |
| |
> From: Jason Gunthorpe <jgg@nvidia.com> > 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. 😊
| |