AMD IOMMU: add stats counter for completion wait events
authorJoerg Roedel <joerg.roedel@amd.com>
Fri, 12 Dec 2008 13:59:58 +0000 (14:59 +0100)
committerJoerg Roedel <joerg.roedel@amd.com>
Sat, 3 Jan 2009 13:11:58 +0000 (14:11 +0100)
Impact: see number of completion wait events in debugfs

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
arch/x86/kernel/amd_iommu.c

index f98f706..b214357 100644 (file)
@@ -64,6 +64,8 @@ static struct dma_ops_domain *find_protection_domain(u16 devid);
  * Initialization code for statistics collection
  */
 
+DECLARE_STATS_COUNTER(compl_wait);
+
 static struct dentry *stats_dir;
 static struct dentry *de_isolate;
 static struct dentry *de_fflush;
@@ -88,6 +90,8 @@ static void amd_iommu_stats_init(void)
 
        de_fflush  = debugfs_create_bool("fullflush", 0444, stats_dir,
                                         (u32 *)&amd_iommu_unmap_flush);
+
+       amd_iommu_stats_add(&compl_wait);
 }
 
 #endif
@@ -249,6 +253,8 @@ static void __iommu_wait_for_completion(struct amd_iommu *iommu)
        unsigned status = 0;
        unsigned long i = 0;
 
+       INC_STATS_COUNTER(compl_wait);
+
        while (!ready && (i < EXIT_LOOP_COUNT)) {
                ++i;
                /* wait for the bit to become one */