summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-12-12 15:07:12 +0100
committerJoerg Roedel <joerg.roedel@amd.com>2009-01-03 14:11:59 +0100
commit146a6917fc30616401a090f55cff2b855ee5b2ab (patch)
treeb931b7a2d3e8eb049a129216767c66b8586bbdd9 /arch
parent0f2a86f200bc97ae6cefc5d3ac879094b3fcde48 (diff)
downloadop-kernel-dev-146a6917fc30616401a090f55cff2b855ee5b2ab.zip
op-kernel-dev-146a6917fc30616401a090f55cff2b855ee5b2ab.tar.gz
AMD IOMMU: add stats counter for unmap_single requests
Impact: see number of unmap_single requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch')
-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 ef37786..71646c8 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -66,6 +66,7 @@ static struct dma_ops_domain *find_protection_domain(u16 devid);
DECLARE_STATS_COUNTER(compl_wait);
DECLARE_STATS_COUNTER(cnt_map_single);
+DECLARE_STATS_COUNTER(cnt_unmap_single);
static struct dentry *stats_dir;
static struct dentry *de_isolate;
@@ -94,6 +95,7 @@ static void amd_iommu_stats_init(void)
amd_iommu_stats_add(&compl_wait);
amd_iommu_stats_add(&cnt_map_single);
+ amd_iommu_stats_add(&cnt_unmap_single);
}
#endif
@@ -1321,6 +1323,8 @@ static void unmap_single(struct device *dev, dma_addr_t dma_addr,
struct protection_domain *domain;
u16 devid;
+ INC_STATS_COUNTER(cnt_unmap_single);
+
if (!check_device(dev) ||
!get_device_resources(dev, &iommu, &domain, &devid))
/* device not handled by any AMD IOMMU */
OpenPOWER on IntegriCloud