|
@@ -72,6 +72,7 @@ DECLARE_STATS_COUNTER(cnt_unmap_sg);
|
|
DECLARE_STATS_COUNTER(cnt_alloc_coherent);
|
|
DECLARE_STATS_COUNTER(cnt_alloc_coherent);
|
|
DECLARE_STATS_COUNTER(cnt_free_coherent);
|
|
DECLARE_STATS_COUNTER(cnt_free_coherent);
|
|
DECLARE_STATS_COUNTER(cross_page);
|
|
DECLARE_STATS_COUNTER(cross_page);
|
|
|
|
+DECLARE_STATS_COUNTER(domain_flush_single);
|
|
|
|
|
|
static struct dentry *stats_dir;
|
|
static struct dentry *stats_dir;
|
|
static struct dentry *de_isolate;
|
|
static struct dentry *de_isolate;
|
|
@@ -106,6 +107,7 @@ static void amd_iommu_stats_init(void)
|
|
amd_iommu_stats_add(&cnt_alloc_coherent);
|
|
amd_iommu_stats_add(&cnt_alloc_coherent);
|
|
amd_iommu_stats_add(&cnt_free_coherent);
|
|
amd_iommu_stats_add(&cnt_free_coherent);
|
|
amd_iommu_stats_add(&cross_page);
|
|
amd_iommu_stats_add(&cross_page);
|
|
|
|
+ amd_iommu_stats_add(&domain_flush_single);
|
|
}
|
|
}
|
|
|
|
|
|
#endif
|
|
#endif
|
|
@@ -413,6 +415,8 @@ static void iommu_flush_tlb(struct amd_iommu *iommu, u16 domid)
|
|
{
|
|
{
|
|
u64 address = CMD_INV_IOMMU_ALL_PAGES_ADDRESS;
|
|
u64 address = CMD_INV_IOMMU_ALL_PAGES_ADDRESS;
|
|
|
|
|
|
|
|
+ INC_STATS_COUNTER(domain_flush_single);
|
|
|
|
+
|
|
iommu_queue_inv_iommu_pages(iommu, address, domid, 0, 1);
|
|
iommu_queue_inv_iommu_pages(iommu, address, domid, 0, 1);
|
|
}
|
|
}
|
|
|
|
|