Messages in this thread | | | Date | Mon, 8 Apr 2024 15:23:53 +0800 | Subject | Re: [PATCH 2/2] iommu/vt-d: Remove caching mode check before devtlb flush | From | Baolu Lu <> |
| |
On 2024/4/8 15:21, Ethan Zhao wrote: > On 4/7/2024 10:42 PM, Lu Baolu wrote: >> The Caching Mode (CM) of the Intel IOMMU indicates if the hardware >> implementation caches not-present or erroneous translation-structure >> entries except the first-stage translation. The caching mode is >> unrelated to the device TLB , therefore there is no need to check >> it before a device TLB invalidation operation. >> >> Before the scalable mode is introduced, caching mode is treated as >> an indication that the driver is running in a VM guest. This is just >> a software contract as shadow page table is the only way to implement >> a virtual IOMMU. But the VT-d spec doesn't state this anywhere. After >> the scalable mode is introduced, this doesn't stand for anymore, as >> caching mode is not relevant for the first-stage translation. A virtual >> IOMMU implementation is free to support first-stage translation only >> with caching mode cleared. >> >> Remove the caching mode check before device TLB invalidation to ensure >> compatibility with the scalable mode use cases. >> >> Fixes: 792fb43ce2c9 ("iommu/vt-d: Enable Intel IOMMU scalable mode by >> default") >> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> >> --- >> drivers/iommu/intel/iommu.c | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c >> index 493b6a600394..681789b1258d 100644 >> --- a/drivers/iommu/intel/iommu.c >> +++ b/drivers/iommu/intel/iommu.c >> @@ -1501,7 +1501,7 @@ static void iommu_flush_iotlb_psi(struct >> intel_iommu *iommu, >> else >> __iommu_flush_iotlb_psi(iommu, did, pfn, pages, ih); >> - if (!cap_caching_mode(iommu->cap) && !map) >> + if (!map) > > My understanding, we don't need patch[1/2] at all, and customer is just > asking > about the CM & tlb flushing, it is great to have this commit [2/2].
Actually they fix different problems.
Best regards, baolu
| |