aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-12-12 09:12:14 -0500
committerJoerg Roedel <joerg.roedel@amd.com>2009-01-03 08:11:59 -0500
commit55877a6bcdf0843414eecc658550c6551f5b5e1d (patch)
tree360fcc7c677260b372c5875a7b88966f79752eee
parentd03f067a9d0a1cc09529427af9a15e15d32ba1de (diff)
AMD IOMMU: add stats counter for unmap_sg requests
Impact: see number of unmap_sg 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 859ca741745..49f2c8533e1 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -68,6 +68,7 @@ DECLARE_STATS_COUNTER(compl_wait);
68DECLARE_STATS_COUNTER(cnt_map_single); 68DECLARE_STATS_COUNTER(cnt_map_single);
69DECLARE_STATS_COUNTER(cnt_unmap_single); 69DECLARE_STATS_COUNTER(cnt_unmap_single);
70DECLARE_STATS_COUNTER(cnt_map_sg); 70DECLARE_STATS_COUNTER(cnt_map_sg);
71DECLARE_STATS_COUNTER(cnt_unmap_sg);
71 72
72static struct dentry *stats_dir; 73static struct dentry *stats_dir;
73static struct dentry *de_isolate; 74static struct dentry *de_isolate;
@@ -98,6 +99,7 @@ static void amd_iommu_stats_init(void)
98 amd_iommu_stats_add(&cnt_map_single); 99 amd_iommu_stats_add(&cnt_map_single);
99 amd_iommu_stats_add(&cnt_unmap_single); 100 amd_iommu_stats_add(&cnt_unmap_single);
100 amd_iommu_stats_add(&cnt_map_sg); 101 amd_iommu_stats_add(&cnt_map_sg);
102 amd_iommu_stats_add(&cnt_unmap_sg);
101} 103}
102 104
103#endif 105#endif
@@ -1443,6 +1445,8 @@ static void unmap_sg(struct device *dev, struct scatterlist *sglist,
1443 u16 devid; 1445 u16 devid;
1444 int i; 1446 int i;
1445 1447
1448 INC_STATS_COUNTER(cnt_unmap_sg);
1449
1446 if (!check_device(dev) || 1450 if (!check_device(dev) ||
1447 !get_device_resources(dev, &iommu, &domain, &devid)) 1451 !get_device_resources(dev, &iommu, &domain, &devid))
1448 return; 1452 return;