aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-12-12 09:05:16 -0500
committerJoerg Roedel <joerg.roedel@amd.com>2009-01-03 08:11:59 -0500
commit0f2a86f200bc97ae6cefc5d3ac879094b3fcde48 (patch)
treea1ae52873ab4bcda1e9db4cb1f0ff67450832d31
parentda49f6df726ecaaee87757e8b65a560679d32f99 (diff)
AMD IOMMU: add stats counter for map_single requests
Impact: see number of map_single requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
-rw-r--r--arch/x86/kernel/amd_iommu.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index b21435748e0d..ef377865eb76 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -65,6 +65,7 @@ static struct dma_ops_domain *find_protection_domain(u16 devid);
65 */ 65 */
66 66
67DECLARE_STATS_COUNTER(compl_wait); 67DECLARE_STATS_COUNTER(compl_wait);
68DECLARE_STATS_COUNTER(cnt_map_single);
68 69
69static struct dentry *stats_dir; 70static struct dentry *stats_dir;
70static struct dentry *de_isolate; 71static struct dentry *de_isolate;
@@ -92,6 +93,7 @@ static void amd_iommu_stats_init(void)
92 (u32 *)&amd_iommu_unmap_flush); 93 (u32 *)&amd_iommu_unmap_flush);
93 94
94 amd_iommu_stats_add(&compl_wait); 95 amd_iommu_stats_add(&compl_wait);
96 amd_iommu_stats_add(&cnt_map_single);
95} 97}
96 98
97#endif 99#endif
@@ -1278,6 +1280,8 @@ static dma_addr_t map_single(struct device *dev, phys_addr_t paddr,
1278 dma_addr_t addr; 1280 dma_addr_t addr;
1279 u64 dma_mask; 1281 u64 dma_mask;
1280 1282
1283 INC_STATS_COUNTER(cnt_map_single);
1284
1281 if (!check_device(dev)) 1285 if (!check_device(dev))
1282 return bad_dma_address; 1286 return bad_dma_address;
1283 1287