On 08/06/2022 18:26, Bart Van Assche wrote:
On 6/6/22 02:30, John Garry via iommu wrote:
+unsigned long iova_rcache_range(void)
+{
+ return PAGE_SIZE << (IOVA_RANGE_CACHE_MAX_SIZE - 1);
+}
My understanding is that iova cache entries may be smaller than
IOVA_RANGE_CACHE_MAX_SIZE and hence that even if code that uses the DMA
mapping API respects this limit that a cache miss can still happen.
Sure, a cache miss may still happen - however once we have stressed the
system for a while then the rcaches fill up and don't fail often, or
often enough to be noticeable compared to not having a cached IOVAs at all.
Thanks,
john