Re: [PATCH 01/12] iommu/vt-d: Add cache tag assignment interface

From: Baolu Lu
Date: Sun Apr 07 2024 - 00:36:21 EST


On 4/6/24 8:55 PM, Baolu Lu wrote:

@@ -4607,10 +4623,11 @@ static void
intel_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid)
       */
      if (domain->type == IOMMU_DOMAIN_SVA) {
          intel_svm_remove_dev_pasid(dev, pasid);
+        cache_tag_unassign_domain(dmar_domain,
+                      FLPT_DEFAULT_DID, dev, pasid);

is it correct to destroy the tag before teardown completes, e.g. iotlb still
needs to be flushed in intel_pasid_tear_down_entry()?

You are right. iotlb still needs to be there until the teardown
completes. I will investigate this more later.

I reviewed this again. Cache tags are designed specifically for mapping
and unmapping paths. Therefore, there is no required order for attaching
and detaching paths.

Best regards,
baolu