Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 282767
b: refs/heads/master
c: 399be2f
h: refs/heads/master
i:
  282765: 610e6fa
  282763: 63cfc9c
  282759: 932da2a
  282751: 3c3a473
v: v3
  • Loading branch information
Joerg Roedel committed Dec 12, 2011
1 parent ad519ab commit bc62392
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6a113ddc03bcc32d3d440dce42b445868d5be093
refs/heads/master: 399be2f51979aaf4e3391d98d11e3aeaac7633a4
17 changes: 17 additions & 0 deletions trunk/drivers/iommu/amd_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,11 @@ DECLARE_STATS_COUNTER(domain_flush_single);
DECLARE_STATS_COUNTER(domain_flush_all);
DECLARE_STATS_COUNTER(alloced_io_mem);
DECLARE_STATS_COUNTER(total_map_requests);
DECLARE_STATS_COUNTER(complete_ppr);
DECLARE_STATS_COUNTER(invalidate_iotlb);
DECLARE_STATS_COUNTER(invalidate_iotlb_all);
DECLARE_STATS_COUNTER(pri_requests);


static struct dentry *stats_dir;
static struct dentry *de_fflush;
Expand Down Expand Up @@ -393,6 +398,10 @@ static void amd_iommu_stats_init(void)
amd_iommu_stats_add(&domain_flush_all);
amd_iommu_stats_add(&alloced_io_mem);
amd_iommu_stats_add(&total_map_requests);
amd_iommu_stats_add(&complete_ppr);
amd_iommu_stats_add(&invalidate_iotlb);
amd_iommu_stats_add(&invalidate_iotlb_all);
amd_iommu_stats_add(&pri_requests);
}

#endif
Expand Down Expand Up @@ -509,6 +518,8 @@ static void iommu_handle_ppr_entry(struct amd_iommu *iommu, u32 head)
volatile u64 *raw;
int i;

INC_STATS_COUNTER(pri_requests);

raw = (u64 *)(iommu->ppr_log + head);

/*
Expand Down Expand Up @@ -3356,6 +3367,8 @@ static int __flush_pasid(struct protection_domain *domain, int pasid,
static int __amd_iommu_flush_page(struct protection_domain *domain, int pasid,
u64 address)
{
INC_STATS_COUNTER(invalidate_iotlb);

return __flush_pasid(domain, pasid, address, false);
}

Expand All @@ -3376,6 +3389,8 @@ EXPORT_SYMBOL(amd_iommu_flush_page);

static int __amd_iommu_flush_tlb(struct protection_domain *domain, int pasid)
{
INC_STATS_COUNTER(invalidate_iotlb_all);

return __flush_pasid(domain, pasid, CMD_INV_IOMMU_ALL_PAGES_ADDRESS,
true);
}
Expand Down Expand Up @@ -3495,6 +3510,8 @@ int amd_iommu_complete_ppr(struct pci_dev *pdev, int pasid,
struct amd_iommu *iommu;
struct iommu_cmd cmd;

INC_STATS_COUNTER(complete_ppr);

dev_data = get_dev_data(&pdev->dev);
iommu = amd_iommu_rlookup_table[dev_data->devid];

Expand Down

0 comments on commit bc62392

Please sign in to comment.