Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762655AbcLWONG (ORCPT ); Fri, 23 Dec 2016 09:13:06 -0500 Received: from mail-by2nam01on0067.outbound.protection.outlook.com ([104.47.34.67]:24741 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752909AbcLWONA (ORCPT ); Fri, 23 Dec 2016 09:13:00 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: , CC: , , , , Suravee Suthikulpanit Subject: [PATCH V6 0/7] perf/amd/iommu: Enable multi-IOMMU support Date: Fri, 23 Dec 2016 20:38:43 +0700 Message-ID: <1482500330-5606-1-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR1301CA0025.namprd13.prod.outlook.com (10.174.84.166) To DM5PR12MB1449.namprd12.prod.outlook.com (10.172.38.138) X-MS-Office365-Filtering-Correlation-Id: dceb9888-2426-4060-e0b1-08d42b391740 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR12MB1449; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;3:CZrR2ObdE82n7kK5tticIe/ISWWjfWFBUcuaaQP1nNwlCpevMypvhMqHDZZ9FwqzFBl0TQE/0Y15KYcrETes4kTmDKzhMUSWLJWm7lE8kXwDOVM5JxiFNE1vwVHzWE5yplt93XNM0QucxlcPQHAtwbrP6hTWqpygzdOlupaHNFVelmJ9kZ1/C4sGITA8aispgDazF1aZ0UzC4x8Q/assDTleyRuHvshilH+fk2JsPwR3Oz5EPOEh7rDa3xa+BTS7qmYIuEG4Ie1SiTXG8YrLig==;25:P0UIG3Y5blVsQ/a94upHIRl7QuDcg4IkoHyhp1bIHv6em37r+vYe75SZUok0q8wKxx0TSExRta6Clyek4ndPgBVUKYwtC+pax1FdaU7RRecUfrIdNFwF+BkE7FgN+w6EUuP22bJj1sXpE/6fhvwgSCsk0Y2nKz9fewuASG+Q90Epf0GqCPiXVz3/fy7+94azarjh68mgfQtLse7Py6cFm2T0p+cf7SYobWQSNFQKMpctxNzzNCjcRGB9/5w9DU3ws2uBUQC2aLCnJz7xZ0Rmu1nz/ezO105gC39a4w9R9g+EJfX2ZHMEFUPHY8kYHCdBAgZFZ8K6LuAelSmBcNK/f7qcA6TRGKVNDSwhzpQ9oWYdWH5UKrKUxV3A2WipWE1fJyPgZ7SEV+5e5U0AoCRX4t1lK5KUw0mIjqscVtXQOizgmzFhABsHTu8v0k6e+ztA6bcag1LhuMm7IulzrIFjFg== X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;31:CIzWibOsvkEK/7cACaoUInJlgzMMptKEzJGtMtolnkixaP1wgquFZMJ39YaHwZABsYu/4hNXSRVvbQFl49qUOhx0uBz9fhjo9+Uu6BtHA4AzuFAe48uNbU+jfoNVtFlK6vgsfaPTiQ5RSNMUsmlZLM2x5ir8FCMxikQe5m9y6FK97w3BHhWHrt07S0g17X7ljqToPmgGx0a1E0gYlU/ZndD65IcKKzQoIUjnwerKh7zyaqQFNCUWudF75VCvmvw7;20:1OfwMAD9IEj+kPu3LM1Vh56CN7o0+MlVJQoM3PYkBykGgQfCVb+rbsohAf+1tWvjbNuX5arWTwfmuWLasDXGvCe0NbbuLY/pI67cfBAPc81xMPGDZGduRs4YdPb3Mr4pNpFgwz5/lF7kdhnpjC9HxXN/sAY0yz0IRdOCD0p50Pm4eOe0H9fC+NbzuW7ChLJ68G/FcU3oVSZeCePPYbfFMW3Dl/8Obc8+0c1mmpBzxqtuUCLNUJS0aDVtftFAZn43UqrKwOHK54kuM6k6MvJ16T417dmpYqTQNgpaL2z8/E33IXA4NGKUTaTkJ7m5ZH1UPtLdptEACqFoMaD9z76bIHhvjxCu6cxXXWQBAGJpqA++RDDWfOnKf9aZsEQ3Y1gCkW22FUIEWLp1s6UaIG94rvogyN+tlpK3cFvmqWMW7706Jdk1HXHX0kvxoTnVph3qOupaq5UjGaRBJNcmOUvLaBgIaaMM175SBSmplFCoMbxN5Hkf4JQ1dwoxoAcdB6kI X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(166708455590820); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123558021)(20161123560025)(6072148);SRVR:DM5PR12MB1449;BCL:0;PCL:0;RULEID:;SRVR:DM5PR12MB1449; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;4:z2qPzqtXuALe7bRurfDyrLMtJlqnqbE7BOCF+KRzEyRi9mrSIjO1N7I744D8sJKr/OgyolHI7NjTvTB/yBGWheNCZOr2bwXpEXYsZzou9ERbX+T9HAtkuuGODDBDnHu0KZu+WFwtYrkSlugqbzMyRNJJZzN9/MgqPtyWfwExFf77GANSv3MwrXauunUbv7m+oRyVDaAG+WqGoweVgCRpdqfrHLGtL5Dz0DbEolysiyFgXqdABFxnwj49dGLeto5VEF5XlbmHOGlWUJNq5i8YoFRZCTmLmmKibcXvRU1YQVHGeXICbfn4yoUgOg7jr/sKszlPyKNN5px/8/5z3PCr8ZFiYlr9NexvLGt5tncChY6lr6P2n91HRQwChAzONVBzzYB5NQTMs09rA3Qgh0rujnLVeBTyCpLWhFDjbvEL37vm2KDqZOTtNUiHrJUvrPMcx1lEWwmEgHlk/Qcnd6OkvbKqpHdUND7X8hYx3ndaX+EggOEgDPn7kpHCwbc61EaXYrji3JKbcfxM4UshDbgEdDTybdERGeb0vLZb4fTbcLF3tZbbD+3fucnIePWq7sdb+3kuxEfX2nbbTJRGaU+5zdZrmMkWntF71u9eR92iGaJP6hsPABGsCeqjiavfmpEzQ7NVCQxuXllwABnFRMhWwtS49WLn662Gtd2i1tWGYY2itoei22s//CYot0Lfhs6DLo73PeBsE/vUSsoe83jZbA== X-Forefront-PRVS: 016572D96D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(39840400002)(39410400002)(39850400002)(39860400002)(189002)(199003)(305945005)(86362001)(47776003)(7736002)(50226002)(81166006)(81156014)(5003940100001)(68736007)(8676002)(48376002)(106356001)(50466002)(3846002)(6116002)(4326007)(2906002)(50986999)(53416004)(92566002)(66066001)(42186005)(97736004)(105586002)(36756003)(5001770100001)(38730400001)(6666003)(101416001)(5660300001)(189998001)(25786008)(6486002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1449;H:ssuthiku-ubuntu-lt.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR12MB1449;23:Q/Z01vPYY6OY1uYJKqncvfAFTMEVcxD9a5UcF7Ubg?= =?us-ascii?Q?w3WPWFVFXiZW2MtJU5SXKP0hMOwGImaAkEnKjZHSdBJ8BYKxESvvz94X3uK8?= =?us-ascii?Q?9wxoo8eqG4Yk8CH/3/Fsd5nQuW1UuXCQgHDEVNcPzL+c7b8Q3bkuvlwJFT2y?= =?us-ascii?Q?J8KL1m20e9bdWzwPWOJoqECMrScUYG5H7dADVmLY+Xhauf3+6qp79jeRvQrl?= =?us-ascii?Q?GYjnkw231y7oVVcSffDt9EZstbuq571DTzksIuUJWR6PPrB/p9ilZkQ8htRd?= =?us-ascii?Q?VlsB28If5+rZko/Kj5zyEpoZqPNGndALIUuqI+SsaLFjwXalI9IyQkdJLvas?= =?us-ascii?Q?ycN7x2v6EnCoGOju9iL4FPW4UynT9HK6nZW/9uyGtVMKINfLPQmLtmfmk1Cf?= =?us-ascii?Q?x4z68TfSApLh/HP19opLNf04Fac7+xoiREW6B6Nd9sUyKcZsJVjI2nyCFO1j?= =?us-ascii?Q?ymrNY5xGZ6eWQENrTqsqJ0itG+BC2yp481nCqHEA+Uf5/97hgUXMf4DvQ6qC?= =?us-ascii?Q?eQLI436YWzK2urgcBNRC7i1Da8hrQ1dCe47ycmY7O+JK6MM2vONer5b8aajF?= =?us-ascii?Q?Ba3WyA+hL2GjY9HeBk+/iLY1BIv/s/gYe3Bx2fE55Nscz+wE//utoIwxHBIt?= =?us-ascii?Q?53hWTv9+Rklcu3VrAvqJpILiIYM1PI0Re2g1+I5kVBy8NPJZ8LuUZf0kB1hw?= =?us-ascii?Q?UQgbmJOWpj8/U0nlIAda+oerAwt97BiH02wAdEPD3DQebbTJ6gnjne5FlQ8d?= =?us-ascii?Q?jiZwDY3PiYNt9Qve+k9vBkVa/pAMjf4+/oIHskBPzxwuIaA3NvnKIsnxMBSl?= =?us-ascii?Q?dI9JTTDN6cjsiTcR1StIBUiWyN7ZffGmxYhTXU0VuxNsNNWHMJQi2iJWSW86?= =?us-ascii?Q?dWsf65MAq+ZW8h2f0McAaCKpJ8bZ5Iv6eavMnj5KDfrwe4CCuZ9A1r6Ys5yu?= =?us-ascii?Q?QEL67nZNqAoFNnZLxuNBY+HFMWl2oPhjN040ZLzjwe2lYSrRsds649XAqGPU?= =?us-ascii?Q?K9wnJWDPDlqRQLw/BVT+kZ/Mdg5Hui8CgqdTZfznR3u6SiS9SllQX6NeGtqp?= =?us-ascii?Q?RBkoqpXRv9GRi/4BjhWJd2ILHO98teZ2ygLiu2fL2Y4n8mqEA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;6:GrmVKPwOwfQUDNdVrYC+8Rkcj3GyO4VS6jIKTM8vFepTLUGxrJoCJh/y6kCk/1tFTbTUssgBn7ChtXc6jzjnceCRK868+3n6A1tnMMf6pkCbcKjmhru9ToHdwVf7RxZgFb83RLNxZLu4F0fXqCUv7dNbnL7zaBKa2imk5OFHc3/NqH+6Qig4iSc1USKI5gYUdzbY/ZnXAXjmHEPslzz3ASgV2pLuDeshdc8Iv9Lp0KK4eK1dFUOiA4ku2rJQ8uMY+qDWndywjpyZRh6FSeiQpu0wHYKLLrbuv0Z8bUeD/q0YmQGlYn3a1iQrcSWZFlgfT18oKGG7BZPnuIvYyaMT0CMYXImD84xauyThQ0bp4JXKFtM6lKyY7Qr76ZGCZhPc+Q9XOk/ABzu7JtHf1VgjjsLh2SslzEFEbWzLVunayhe1mQd4eoZd293iHVzzFVsGYFaO9TjDS98+QjbA/eOgcA==;5:wQrv2IWrdlWVQxRFSxCzwPuHbngwtepN2WS1w3qwkCi5nApxsGc8ojUvGtiKzdTjOQ9ZLRMGc4VFFzLxU6y2MTd2DHtDqZkmh0iGXDIfA3jvcGleKUTHCnl+wqccsG3LkfHHo1SPB3TEjeRuJmdOGA==;24:34bKaS/tBborskjuO8WfkoPkQuaur+iL8n7IP3W4azdFUy1HaHsQBAxGxlPh4/qNWNNAi6M1mHdQWm4UAsr6/v68wDtZCh7wYjdbdy7ECTQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;7:yPAGr531CSwZJMrXgSOOywXkg6pwWIYxbjHSH4yNybOmHbo5fZ6BOPbCt46TlhkUje38S7W9kT3QgSkk2s4KwAQnr/IRaoRRlN2gRbxARdV4ehuAwYHYlVK2JeG/lPxqVXZZqp/bWkbiN/lfosluwWmLxs1bjVTTF+d38yC0pOwKcewvsl5v+LfY1l2l1eB3MjmtQI3iLh9bjnGHwROMjJE8D5SP1h0bkXbS4O6yxyp7rWhVDK4kYhN5E5unQiHIGi1zruYnRE/6YQRJqheCGsRUsAzemzbpByp6FlssxwDVEwsIAretc+PS4HBn7tQEV3GZg55pg9DunwT/lTblXjFYG1w0D6Qkz6yM0eKCyE8DRMPImCT0S2kxNXU2wCRzBk5R5MfIgfUNkKXY9mMv6PUi3fM8zt2lgho9ZTu1DyVJ3xUwFU61qBoGlcRWo2oh9CbqEHcxZTkTAZnakY1/1A==;20:LFyc+9jMRMSMnGysss2wKwMbTMqVeObw/8V+lcFsurnJV3EPDagoFmG6G43MDvdyAd0xheRJfm0hjh8sV4gk52ZRiHMJllOXAZt/ICFFPAhl8S5HSwMoKPBlkCT/mqrX6BcrCZOGV6FRCfwAUP/aQ+um/aUUBwTKNxXMg8UTKt2xpW5toFbCmLQ6rjpT/RST7w8TDDL6P9z4QBUjKQvWW1it7hJbCB+wzNW5b7ksTF5yuFJfCs3j2lYFpwgP7ZrT X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2016 13:39:13.5325 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1449 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1435 Lines: 35 From: Suravee Suthikulpanit This patch series modifies the existing IOMMU and Perf drivers to support systems with multiple IOMMUs by allocating an amd_iommu PMU per IOMMU instance. This allows users to specify performance events and filters separately for each IOMMU. This has been tested on the new family17h-based server w/ multiple IOMMUs. Git branch containing this patch series is available here: https://github.com/ssuthiku/linux.git perf-iommu-v6 Changes from V5 (https://lkml.org/lkml/2016/2/23/370) * Rebased onto v4.9. * Remove the patch which consolidates function delclarations since we have not yet agreed on the appropriate place for the new header file. Suravee Suthikulpanit (7): perf/amd/iommu: Misc fix up perf_iommu_read perf/amd/iommu: Modify functions to query max banks and counters perf/amd/iommu: Modify IOMMU API to allow specifying IOMMU index perf/amd/iommu: Declare pr_fmt and remove unnecessary pr_debug perf/amd/iommu: Clean up perf_iommu_enable_event iommu/amd: Introduce amd_iommu_get_num_iommus() perf/amd/iommu: Enable support for multiple IOMMUs arch/x86/events/amd/iommu.c | 206 ++++++++++++++++++++-------------------- arch/x86/events/amd/iommu.h | 17 ++-- drivers/iommu/amd_iommu_init.c | 119 ++++++++++++++++------- drivers/iommu/amd_iommu_proto.h | 15 ++- 4 files changed, 209 insertions(+), 148 deletions(-) -- 1.8.3.1