lkml.org 
[lkml]   [2024]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 01/12] iommu/vt-d: Add cache tag assignment interface
From
On 4/23/24 5:01 PM, Tian, Kevin wrote:
>> From: Lu Baolu <baolu.lu@linux.intel.com>
>> Sent: Tuesday, April 16, 2024 4:07 PM
>>
>> @@ -1757,6 +1759,9 @@ int domain_attach_iommu(struct dmar_domain
>> *domain, struct intel_iommu *iommu)
>> unsigned long ndomains;
>> int num, ret = -ENOSPC;
>>
>> + if (domain->domain.type == IOMMU_DOMAIN_SVA)
>> + return 0;
>> +
>> info = kzalloc(sizeof(*info), GFP_KERNEL);
>> if (!info)
>> return -ENOMEM;
>> @@ -1804,6 +1809,9 @@ void domain_detach_iommu(struct dmar_domain
>> *domain, struct intel_iommu *iommu)
>> {
>> struct iommu_domain_info *info;
>>
>> + if (domain->domain.type == IOMMU_DOMAIN_SVA)
>> + return;
>> +
>> spin_lock(&iommu->lock);
>> info = xa_load(&domain->iommu_array, iommu->seq_id);
>> if (--info->refcnt == 0) {
>
> above two are not called for SVA. Why do they start checking
> SVA type now?

domain_detach_iommu() is called in remove_dev_pasid path which covers
SVA domain as well.

I am moving the check to the domain_attach/detach_iommu() helpers so
that the call sites could be generic. I will later move the domain ID
management to the cache tag code, this kind of check will be dropped
then.

Best regards,
baolu

\
 
 \ /
  Last update: 2024-04-24 04:46    [W:0.092 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site