On 2020/3/24 23:31, Jacob Pan wrote:
On Sat, 21 Mar 2020 09:32:45 +0800
Lu Baolu<[email protected]> wrote:
On 2020/3/21 0:20, Jacob Pan wrote:
On Fri, 20 Mar 2020 21:45:26 +0800
Lu Baolu<[email protected]> wrote:
On 2020/3/20 12:32, Jacob Pan wrote:
IOTLB flush already included in the PASID tear down process. There
is no need to flush again.
It seems that intel_pasid_tear_down_entry() doesn't flush the pasid
based device TLB?
I saw this code in intel_pasid_tear_down_entry(). Isn't the last
line flush the devtlb? Not in guest of course since the passdown
tlb flush is inclusive.
pasid_cache_invalidation_with_pasid(iommu, did, pasid);
iotlb_invalidation_with_pasid(iommu, did, pasid);
/* Device IOTLB doesn't need to be flushed in caching mode.
*/ if (!cap_caching_mode(iommu->cap))
devtlb_invalidation_with_pasid(iommu, dev, pasid);
But devtlb_invalidation_with_pasid() doesn't do the right thing, it
flushes the device tlb, instead of pasid-based device tlb.
Hmm, you are right. But the function name is misleading, pasid argument
is not used, is there a reason why?
This is used for PASID based device IOTLB flush, right?
Yes. I will fix and put your patch after it.
Best regards,
baolu
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu