AMD IOMMU: add statistics about allocated io memory

Impact: see amount of allocated io memory in debugfs

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

+6
+6
arch/x86/kernel/amd_iommu.c
··· 74 DECLARE_STATS_COUNTER(cross_page); 75 DECLARE_STATS_COUNTER(domain_flush_single); 76 DECLARE_STATS_COUNTER(domain_flush_all); 77 78 static struct dentry *stats_dir; 79 static struct dentry *de_isolate; ··· 111 amd_iommu_stats_add(&cross_page); 112 amd_iommu_stats_add(&domain_flush_single); 113 amd_iommu_stats_add(&domain_flush_all); 114 } 115 116 #endif ··· 1248 } 1249 address += offset; 1250 1251 if (unlikely(dma_dom->need_flush && !amd_iommu_unmap_flush)) { 1252 iommu_flush_tlb(iommu, dma_dom->domain.id); 1253 dma_dom->need_flush = false; ··· 1285 dma_ops_domain_unmap(iommu, dma_dom, start); 1286 start += PAGE_SIZE; 1287 } 1288 1289 dma_ops_free_addresses(dma_dom, dma_addr, pages); 1290
··· 74 DECLARE_STATS_COUNTER(cross_page); 75 DECLARE_STATS_COUNTER(domain_flush_single); 76 DECLARE_STATS_COUNTER(domain_flush_all); 77 + DECLARE_STATS_COUNTER(alloced_io_mem); 78 79 static struct dentry *stats_dir; 80 static struct dentry *de_isolate; ··· 110 amd_iommu_stats_add(&cross_page); 111 amd_iommu_stats_add(&domain_flush_single); 112 amd_iommu_stats_add(&domain_flush_all); 113 + amd_iommu_stats_add(&alloced_io_mem); 114 } 115 116 #endif ··· 1246 } 1247 address += offset; 1248 1249 + ADD_STATS_COUNTER(alloced_io_mem, size); 1250 + 1251 if (unlikely(dma_dom->need_flush && !amd_iommu_unmap_flush)) { 1252 iommu_flush_tlb(iommu, dma_dom->domain.id); 1253 dma_dom->need_flush = false; ··· 1281 dma_ops_domain_unmap(iommu, dma_dom, start); 1282 start += PAGE_SIZE; 1283 } 1284 + 1285 + SUB_STATS_COUNTER(alloced_io_mem, size); 1286 1287 dma_ops_free_addresses(dma_dom, dma_addr, pages); 1288