[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <BN9PR11MB5276EC2FEEF42A5BE30ABADF8C02A@BN9PR11MB5276.namprd11.prod.outlook.com>
Date: Mon, 24 Jul 2023 02:15:40 +0000
From: "Tian, Kevin" <kevin.tian@...el.com>
To: Jason Gunthorpe <jgg@...dia.com>
CC: Lu Baolu <baolu.lu@...ux.intel.com>,
Joerg Roedel <joro@...tes.org>,
"Will Deacon" <will@...nel.org>,
Robin Murphy <robin.murphy@....com>,
"Alex Williamson" <alex.williamson@...hat.com>,
Nicolin Chen <nicolinc@...dia.com>,
"iommu@...ts.linux.dev" <iommu@...ts.linux.dev>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 1/2] iommu: Prevent RESV_DIRECT devices from blocking
domains
> From: Jason Gunthorpe <jgg@...dia.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. 😊
Powered by blists - more mailing lists