From: Joerg Roedel Date: Fri, 22 May 2009 10:27:53 +0000 (+0200) Subject: amd-iommu: disable round-robin allocator for CONFIG_IOMMU_STRESS X-Git-Tag: firefly_0821_release~13675^2~13^4~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fe16f088a88fb73161bba8784375c829f7e87b54;p=firefly-linux-kernel-4.4.55.git amd-iommu: disable round-robin allocator for CONFIG_IOMMU_STRESS Disabling the round-robin allocator results in reusing the same dma-addresses again very fast. This is a good test if the iotlb flushing is working correctly. Signed-off-by: Joerg Roedel --- diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 31d56c36010a..543822b39a84 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c @@ -783,6 +783,11 @@ static unsigned long dma_ops_alloc_addresses(struct device *dev, { unsigned long address; +#ifdef CONFIG_IOMMU_STRESS + dom->next_address = 0; + dom->need_flush = true; +#endif + address = dma_ops_area_alloc(dev, dom, pages, align_mask, dma_mask, dom->next_address);