diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-12-12 09:46:29 -0500 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-01-03 08:11:59 -0500 |
commit | f57d98ae6979f7bcbf758023b4716f485385f903 (patch) | |
tree | d49ddb1732237a69e871691d020db3f0b8a20788 /arch | |
parent | c1858976f5ef05122bb671f678beaf7e1fe1dd74 (diff) |
AMD IOMMU: add stats counter for single iommu domain tlb flushes
Impact: see number of single iommu domain tlb flushes in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index f5455039b609..e99022d3a394 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -72,6 +72,7 @@ DECLARE_STATS_COUNTER(cnt_unmap_sg); | |||
72 | DECLARE_STATS_COUNTER(cnt_alloc_coherent); | 72 | DECLARE_STATS_COUNTER(cnt_alloc_coherent); |
73 | DECLARE_STATS_COUNTER(cnt_free_coherent); | 73 | DECLARE_STATS_COUNTER(cnt_free_coherent); |
74 | DECLARE_STATS_COUNTER(cross_page); | 74 | DECLARE_STATS_COUNTER(cross_page); |
75 | DECLARE_STATS_COUNTER(domain_flush_single); | ||
75 | 76 | ||
76 | static struct dentry *stats_dir; | 77 | static struct dentry *stats_dir; |
77 | static struct dentry *de_isolate; | 78 | static struct dentry *de_isolate; |
@@ -106,6 +107,7 @@ static void amd_iommu_stats_init(void) | |||
106 | amd_iommu_stats_add(&cnt_alloc_coherent); | 107 | amd_iommu_stats_add(&cnt_alloc_coherent); |
107 | amd_iommu_stats_add(&cnt_free_coherent); | 108 | amd_iommu_stats_add(&cnt_free_coherent); |
108 | amd_iommu_stats_add(&cross_page); | 109 | amd_iommu_stats_add(&cross_page); |
110 | amd_iommu_stats_add(&domain_flush_single); | ||
109 | } | 111 | } |
110 | 112 | ||
111 | #endif | 113 | #endif |
@@ -413,6 +415,8 @@ static void iommu_flush_tlb(struct amd_iommu *iommu, u16 domid) | |||
413 | { | 415 | { |
414 | u64 address = CMD_INV_IOMMU_ALL_PAGES_ADDRESS; | 416 | u64 address = CMD_INV_IOMMU_ALL_PAGES_ADDRESS; |
415 | 417 | ||
418 | INC_STATS_COUNTER(domain_flush_single); | ||
419 | |||
416 | iommu_queue_inv_iommu_pages(iommu, address, domid, 0, 1); | 420 | iommu_queue_inv_iommu_pages(iommu, address, domid, 0, 1); |
417 | } | 421 | } |
418 | 422 | ||