Re: [PATCH v2 7/7] iommu/vt-d: Remove lazy allocation of domains

From: James Sewart
Date: Fri Mar 22 2019 - 06:07:14 EST


Hey Jacob,

> On 14 Mar 2019, at 23:35, Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> wrote:
>
> On Thu, 14 Mar 2019 11:59:36 +0000
> James Sewart <jamessewart@xxxxxxxxxx> wrote:
>
>>
>> - domain = get_valid_domain_for_dev(dev);
>> + domain = find_domain(dev);
>> if (!domain)
>> return DMA_MAPPING_ERROR;
>>
>> @@ -3914,7 +3624,7 @@ static int intel_map_sg(struct device *dev,
>> struct scatterlist *sglist, int nele if (iommu_no_mapping(dev))
>> return intel_nontranslate_map_sg(dev, sglist,
>> nelems, dir);
>> - domain = get_valid_domain_for_dev(dev);
>> + domain = find_domain(dev);
> This patchset looks like a very good clean up, I am wondering why we
> can't use the generic iommu_get_domain_for_dev() here, since VT-d has a
> default DMA domain after your patch.

This should be possible, only downside is we get an iommu_domain from
iommu_get_domain_for_dev and will have to check its not null before
getting the dmar_domain from it. We will be able to remove find_domain
though.

Cheers,
James.