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

Reply via email to