Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1297016
| Path | csiph.com!news.mixmin.net!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH 5/6] perf/amd/iommu: Introduce get_iommu_bnk_cnt_evt_idx |
| Date | Tue, 22 Dec 2015 20:40:02 +0100 |
| Message-ID | <qIAWS-86s-17@gated-at.bofh.it> (permalink) |
| References | <qIAWR-86s-3@gated-at.bofh.it> |
| X-Original-To | <joro@8bytes.org>, <bp@alien8.de>, <peterz@infradead.org>, <mingo@redhat.com>, <acme@kernel.org> |
| Authentication-Results | spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; |
| X-Mailer | git-send-email 1.9.1 |
| MIME-Version | 1.0 |
| Content-Type | text/plain |
| X-Originating-IP | [165.204.77.1] |
| X-Clientproxiedby | BY2PR04CA0009.namprd04.prod.outlook.com (10.255.247.19) To CY1PR12MB0444.namprd12.prod.outlook.com (25.163.91.22) |
| X-Microsoft-Exchange-Diagnostics | 1;CY1PR12MB0444;2:iGwstnSIfPBMqMuIYubk3FvPQjyr2XRUDGXyMYqWNb1pY6HWt+PWSmqh0xZ5i3EZlsfvheNjukHZSzarxv9Ex5s1UQcVt741h7OAZqAWiMwzDQG9fC7XFFqBeFN5MQ4klWxEVA1Le57xqkiT9Xsyxw==;3:ww4PBd+n2ambN7DBHm8J161NWvY6cm0JbAIs3uaRByqNBWUk2WUsFzROxZPrD9wtJ0q2Qo9r2PBFrC3azPA5BWlILFp6YqsIS46sBr37H3edzcOJg/wCn2/FZt8eNEV7;25:kJN9naUBjol6l5AD2NAknj2N0gwG0U/Q6nwjTdrl0PY+oIN3bUvi916qVta7ZK98JnQ3ENcteHBJfME5B9CKjBn5ovYfA9KIER5fQhw1TBx60WMCmor7xuPRLSoMw7vQWCKAw/m73yLuX2v2dhhw3GKqsIjH4oxC3J4jZdyRgntfImBG/LMxYnZEiVh0rjX11LEcht9A1eWLCOa8MDfhEiwq3DN+KqsG3CM+8j2/sfPnGMyYTIg6NTI0x/+1aQW37vbIGLp/qs+NLQQjo961Xg== |
| X-Microsoft-Antispam | UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0444; |
| X-Microsoft-Exchange-Diagnostics | 1;CY1PR12MB0444;20:Vw/G7a3Hmp2tTkuD9btmCwqmRMUjTWpDkKkKh7iUZI6fnQ7pMn5LZfzY04rXFUvc9QmvwfYgAgKE/+Oo3KjDyIo/yHkGdXhwCbnS5AxNieYWKyIp+89yUTcJm29QSy1WfzvnkbybwvyWhnpTBuI3siwBXoP3Lfl/iog0jqzXCscyWeruMqPyWOis/Cv9Mp5VMQDR5p22+Rniz8B9Zi8RTdDQiquH8kxFYl8TJnsKAYF3gZo22CvOvgMj2Lqtl20e2oUMwhFsx5FYP6nD/aP0BUdDOr2KpZMwuo/gTG1/E1cNI+aC0ewI4tBbPGT6GFtxO5WVtWpWxFu5a7C+3Azrj/QjD2w6BdTofs+FL/01xDEHBOS5sm86GPl+M3Fg+AzUMBuMb/nfrjdspOZ/mXjPRw6qyrIkLL4XmmFpfPGtwWUlLszuWEGILk5yQ9IWBVdLGv0yEhy4LpfZdf7BpDDBki+ulJZaWRbRIjkcdFzCSul4ljy/mEFAzLfKddzafLAf;4:OKsmk3OsOUMtHy48P0A91DhpTuVVW6llYWEBny25kS86fhLPcJyeL/KjlBxrmWAvHvjBtZo9NsdabX3SBDaYql8/9hObksnyv2fCL3tfN9zoOmEOnVDM0BHiIBlB4Y5OPoRGeRZ4WCSEqt52M+EM9cg0Ng5zyGjhEzrNfJ4Q0Do/lkKi7oP33BATx0dDmpCklwndnDvszoySnoJ4Z6c9PwwKvgmcl36msIZq7PlK3umd/zt9kz8Ror0wMYnES6dBmmymbSqgutlPAsyixyA8lDGk+ganZrPu9UNj7FLgsRvX295k6yXoz2MfU+j4FH7rTmTX/nWxoqr4UXLVKLQ5GwA9BFivCbJeiqD7lkkQmm1bv/+PUxDRWqtY0zB7NJzkILgTI6JFK7BU668JLkicO+y342mu6fttdWLrIQogKbE= |
| X-Microsoft-Antispam-Prvs | <CY1PR12MB044474CFB8165602455AD7AFF3E50@CY1PR12MB0444.namprd12.prod.outlook.com> |
| X-Exchange-Antispam-Report-Test | UriScan:(767451399110); |
| X-Exchange-Antispam-Report-Cfa-Test | BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046);SRVR:CY1PR12MB0444;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0444; |
| X-Forefront-Prvs | 0798146F16 |
| X-Forefront-Antispam-Report | SFV:NSPM;SFS:(10009020)(6009001)(189002)(199003)(105586002)(101416001)(53416004)(19580395003)(50466002)(40100003)(19580405001)(106356001)(5001770100001)(42186005)(97736004)(47776003)(50986999)(87976001)(2201001)(3846002)(48376002)(5003940100001)(76176999)(229853001)(66066001)(86362001)(189998001)(2950100001)(6116002)(36756003)(5004730100002)(50226001)(77096005)(586003)(5008740100001)(1096002)(92566002)(122386002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0444;H:ssuthiku-cz-dev.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; |
| Received-Spf | None (protection.outlook.com: amd.com does not designate permitted sender hosts) |
| X-Microsoft-Exchange-Diagnostics | 1;CY1PR12MB0444;23:RjWv9CEUzoW9ZnuqVtgVzS4Jy3efIAQDo8I2uN1q9PLGMl4NyXwYNdtOglypV8/CCprDy15aah2r/ywepkjdqgBaFmGOGbfsjbEgao1O6xe4PcHiZq4OZn6OjqdPLpWgXH6LBqM457LzeguHZtulqyCw7b0EOXnb8bRb0aZih46S0RhiBfiOfKl5rvnrZ668OC06SMZEf+FDPI53WHttHYTXCJGr5Z37U9lCYWUhxMvplI6fevpKHTi3w/mtSWNA0H0sBvTut3o+eDNJuM0lERjLwtxTYvMb7N1gbJHfCXeAGfJJ5WjkAfjKvN5AjLQdEebn81j9u17O0G0UVyNlym1UosscHUz9XqGBd/o6rLkMCGUDu86UyM+nHBIAYAu1U9AVjskcSd9Ejwum609/sOCVg2JGKojqvBT3OqEJy08mwQU71LHRkrKIEQmmeyD4vFwdnvS2yuhw17Ii76fnQARK0ZDFG691Vr1D7f/M9E9UxgFIolnG2XtjfOSuipQy7UCcthZSGSGMGfGAMp1Q9BuM+oGvTVip98HYhoQZ/tueGtwdnXgWoQCCGqMoaNcTq+2oas+ub0YncU6eXJS/BbYrZQd1UvxvkWtv4nzMkE+OJMpLOkFWdSWzzlLWK9Rl/iHWxwX/De9CxQI8ZPLhM0enAFthwiq/nanpFAAkVSMtRI8NfxHJQFcG6TvyDNapEtxUzLzE0WY9EyOiFMLTC5Qp9Y49yXeQ2wJGuP1DIjbgqvTjDxP1WurXo6IlDah6axz7RymCCIbYZuhK9thQnoONolWM5DpEMJ462zeWhtIekPqDcbFPYhVA/3KLu+ytaKFmGdXXeL+vxfvg9/Fph9NqKobweer0oMG7jjM36o+mWlEhekFV0s6simqpbowL+UAMFd4Ytkm41TmWdsNnsJnXzQwgaotZBKaaBdiXrEHY1OqcptE4psPMCLG4Efld8C9lJGVaW+Q8i1OoQtPgT/W6LhXKfuF42oWSop8G/Mw= |
| X-Microsoft-Exchange-Diagnostics | 1;CY1PR12MB0444;5:rH5P8yiNFi7L/8B9jIfXata9Azider5CbwL6wS0zCtbKFH/4Xw9Fu99+TyclSgya5SDU56pmKVhjKkHdHmaagMf8oi1TIU3oOhuBBquIgzSYo6pMSgRn5/WEtilyW0Y6AJSWIYut8krRGL1UeyEq/Q==;24:w3lz+sRvhaUyR1DkU+VcH9+bdX8BHZFFynN78oS+dm6J+3/2WQhxgs9DXp7rK+8Squ4whkkEl3biWLXPHZsPjs2WAyfBxFFdRCQCzGflSlI=;20:Lqu/W/MWOJunHj6KQag4JZpz5KgLDjbmuLRujU+2C/e4sST0PnRCoyHtJ6jud3D90FWFAKpUCyweZB8NEtIrh3MKRHRXAlL4L1u91MC01koX/df3tANBHU8XFOnSFhBHjI9mqmllvzjJ5EfM66izq3A9x+yYt2aPhfk9LYSoXjpmSlD1h0ZqW9D7uuiy4TIrBG0wBhiAKj622w+CONkJv1zIGGPC2+RFKDdh4DU1pElV6SrKnBCmYG8HitGZYa6y |
| X-Ms-Exchange-Crosstenant-Originalarrivaltime | 22 Dec 2015 19:30:20.7355 (UTC) |
| X-Ms-Exchange-Crosstenant-Fromentityheader | Hosted |
| X-Ms-Exchange-Transport-Crosstenantheadersstamped | CY1PR12MB0444 |
| X-Microsoft-Exchange-Diagnostics | 1;CY1PR12MB0853;2:CBPs4ef0oAPV6AIiglrHGHsa6NbjHvfZzqGWig8TqWcBhhVm3REZSS7VQq+ilCyLFIEDOms+TmecsX05a7aF6svVa/CDmIv1MTlBfwvgbzoajQcBzruFPYNt2ZqOg7gyCUJoYT8AunSN7KFWcbhzqg==;23:oZXRFbYwMwOdLiO8iczCNnAUNY3zXZDv0EJ0ckS0VLIZBRdmsAVELO8IxcEMSg3rrVncpQajYHlkCMKOZltfqZgf96zkQJdAvQPj1jiVTRt7A84NtImCtFF29zyx6pcsuP9gOorK0DLjY9z0mxvmnDjJLOqhbOmm+aAazu6tJnLmjsIn8dRxxh4fOnyAk2vp |
| X-Originatororg | amd.com |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 54 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | <linux-kernel@vger.kernel.org>, <iommu@lists.linux-foundation.org>, Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> |
| X-Original-Date | Tue, 22 Dec 2015 13:19:16 -0600 |
| X-Original-Message-ID | <1450811957-1511-6-git-send-email-Suravee.Suthikulpanit@amd.com> |
| X-Original-References | <1450811957-1511-1-git-send-email-Suravee.Suthikulpanit@amd.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1297016 |
Show key headers only | View raw
Introduce a helper function to calculate bit-index for assigning
performance counter assignment.
Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
---
arch/x86/kernel/cpu/perf_event_amd_iommu.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event_amd_iommu.c b/arch/x86/kernel/cpu/perf_event_amd_iommu.c
index 99fcd10..8af7149 100644
--- a/arch/x86/kernel/cpu/perf_event_amd_iommu.c
+++ b/arch/x86/kernel/cpu/perf_event_amd_iommu.c
@@ -153,18 +153,28 @@ static struct attribute_group amd_iommu_cpumask_group = {
/*---------------------------------------------*/
+static inline
+int get_iommu_bnk_cnt_evt_idx(struct perf_amd_iommu *perf_iommu,
+ int iommu_index, int bank_index,
+ int cntr_index)
+{
+ int cntrs_per_iommu = perf_iommu->max_banks * perf_iommu->max_counters;
+ int index = (perf_iommu->max_counters * bank_index) + cntr_index;
+
+ return (cntrs_per_iommu * iommu_index) + index;
+}
+
static int get_next_avail_iommu_bnk_cntr(struct perf_amd_iommu *perf_iommu)
{
unsigned long flags;
int shift, bank, cntr, retval;
- int max_banks = perf_iommu->max_banks;
- int max_cntrs = perf_iommu->max_counters;
raw_spin_lock_irqsave(&perf_iommu->lock, flags);
- for (bank = 0, shift = 0; bank < max_banks; bank++) {
- for (cntr = 0; cntr < max_cntrs; cntr++) {
- shift = bank + (bank*3) + cntr;
+ for (bank = 0, shift = 0; bank < perf_iommu->max_banks; bank++) {
+ for (cntr = 0; cntr < perf_iommu->max_counters; cntr++) {
+ shift = get_iommu_bnk_cnt_evt_idx(perf_iommu,
+ 0, bank, cntr);
if (perf_iommu->cntr_assign_mask & (1ULL<<shift)) {
continue;
} else {
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/6] perf/amd/iommu: Enable multi-IOMMU support Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2015-12-22 20:40 +0100 [PATCH 5/6] perf/amd/iommu: Introduce get_iommu_bnk_cnt_evt_idx Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2015-12-22 20:40 +0100 [PATCH 1/6] perf/amd/iommu: Consolidate and move perf_event_amd_iommu header Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2015-12-22 20:40 +0100 [PATCH 2/6] perf/amd/iommu: Modify functions to query max banks and counters Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2015-12-22 20:40 +0100 [PATCH 6/6] perf/amd/iommu: Enable support for multiple IOMMUs Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> - 2015-12-22 20:40 +0100
csiph-web