From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751371AbdAPHYK (ORCPT ); Mon, 16 Jan 2017 02:24:10 -0500 Received: from mail-dm3nam03on0057.outbound.protection.outlook.com ([104.47.41.57]:56288 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750981AbdAPHYI (ORCPT ); Mon, 16 Jan 2017 02:24:08 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: , CC: , , , , Suravee Suthikulpanit Subject: [PATCH v8 0/9] perf/amd/iommu: Enable multi-IOMMU support Date: Mon, 16 Jan 2017 01:23:27 -0600 Message-ID: <1484551416-5440-1-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [114.109.128.54] X-ClientProxiedBy: KL1PR0201CA0003.apcprd02.prod.outlook.com (10.167.53.141) To BN6PR12MB1443.namprd12.prod.outlook.com (10.172.24.20) X-MS-Office365-Filtering-Correlation-Id: ecf4240f-79c8-45bb-3a63-08d43de0a7ba X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR12MB1443; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1443;3:jPdHd63x5zOKOsAbmonuQH0N7gc8cPXTLGPn+lzE0tm9s8QgUO77Fbb51b//+rIZKzuLx5H1HHQP9ijBoRAgZ9n/cXOCgVQnp/W8ulBHf0h9Qy3qIs2tjkbT1bhPb5wEHIjg11lHy3qaojCksrNsy/2quD9xqyzcSxFtiHTsassfNFrU15u5OCDi23j1LgWLKETANAA+z0W2VXHeoRoF84NxNNzYMnUu5Y0XiHaRpweHll3Mc03l17fPLedS1DGPR/Cb4eIuEf9kcNZGfe8Ucg==;25:DT3syNg121FoRGOlPkorn95GBIbu7V+sJV//FgF8Y98blsDp2Uv68I2TwfG6axBFOD9Yb3YjdEG9KACztSgmEmcxlxjqEFnldZofOlcc3BFEoKFT2yPTqOOQRtD1e6LJvvHB++K9WKz5KyEiKlUxBODPBLVH0ImouvpgulNvLLPdLwtyIC6riyXZlQcxjl+UtqUqPflg++wuS6ibRpR3pI1St5dl3hAoecN/JqavS35+D5lsPOF8cjzO1ul7VuO2e7ddsLKkPheKu613OzoSgDS494BsS/0yeQhXZ0eMaoSFCgLfJdWxRzooM7sKoiggKVBe3qQWGZeD168lHNpmKU194vaUQJvtWpq7i9tf0IOv4CsGy3FTXtNhRc92CtiTCIzbN8text9fCbpDWdyYJo5tm4z4IMFQi+JItvLltE3AnH5T/g0feauOAAycwlUnFSLvZ9jdGtH02eRBoHSRdg== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1443;31:6IXbrHmq89Ao1ubjf7Ri7X1GdZl1gysHcH0qUaBHXRMuQ7ngpB0oZJDccUZ9ARVtW7nFkBPVPHMsRzWlnaBmiLP+4Iu9HuRnnEauJce+8srASA+qE6dEt0Xma3PAkdVEc7XpHyJH9N6MOGyAKSJZPBrI9zqEJn1cpEbkyt4l3ysKsD4cLbrwLp8aFzC9ZkdrIv0XnDs3ohSRw7wOEJbO881Uq+Hy7T6ympRhHWJDTMLQg/iaWYo2w8BnzAh1ZFCApvFbNdPBDSxreBhDZxirFg==;20:yK8R5znT86LbH1NgfzNUN/vKwb2L2lkiid+SgdSCUMiSyWcgq//87H/mEpYgSM7iU9vB44/YOroDAS1nog6LELkUgFI7ZNA5VlHgQbUTZiqPba+ew2+AQylw/m/iLorxu1hKz1eC09YordES2P0K8xSXdfuGvZP7rDtrpJUSWsVrnJI3v7n2KnWnA2fL73JrrGf/My/P5BQHbiZRaggNqrwmjimG3BU6yAC3SxtRCq1SgDdUwERIM/MqbqgnrtOEdVN9DcVnJ9kxFAV6C1IhcSHLv/eN7+jGHueg9oVIaheEbGtfkgzgpEw33YpJnQtaLKMe44I8VTXFNiAuex+nnEE1vLiM/Qzgliau6+3Pfzmg/7KbOuFCl8l7/nWqCW9gOoXKrvtudTEVtzR4Fnjd9fvZaDOukXfqzH89FswH076IvEQ/EX+Mu1bKB10lKNn9xc4KyJj2eG6DuaejUGnDqzChqhmGUO192NqOpG8jpSmLEIS2K5aVA2h1TK6nqUzT X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(166708455590820)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(6072148);SRVR:BN6PR12MB1443;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1443; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1443;4:iwq6dDqbyrSzEV0iHjlNuImoEtmAq4OH9gASI2I2q+6JCrvD2Howbyqa8R/BV2vu6TcerKLgkdQKNzY8NNu3/IcwDryXun8z7AIhMjWAxG1A2dNbI2XEVCMb0AjWbS2LceOntn8AS1Ytcv07UsCSihGu56MubLm/hSVS5vCdq4jiCpf+p3NI8oxjHr28m3L2BNYvnAf99W5d8fL6jvw8aQeQjp5CjJlTMKSXR2zxit9kYatTgzrDWHJgb9AgKp825ZIzvxf3OqYX4J0/AXborxzW1PeETIXNbVtHqM6l8RvSfhoMnQCNz/wJVevEcJfMVIQ+dDVCep/BeMbl7OiCgeJLPA7RRawx8GiRnAryfMcj6AS2WuRVo80/U3sZurh9RRXWoZoAXazkcOHg3sUmHFRT5FcTjAGzk+qhDSozxvlB9hG3dNPEJmxlfwnP+bnzZvu5aWIYoB3Hvpl9C2i/u1oGo9PGEEV/bbeh43mZt5q1BXnqfedxhVCgvyIav3Qa2UclXoB0CAKet9apbMViDMD8vICcP6MkhAFKX+gGgUM5QwhMWud8HuXtXGjHOaLfvsFN2aUeBvW9kld1YYIN1GKEGsxAPbjZKQwiEDFlSwPwMr7dPv/+0K70eSbcjKkMOfhY2HCt6UvyPBmu/nq6RQFjjvlpDP1akwz+iJB8JGLWZjkg/fdf74PgXq5FBSR0jStvQ3INYmG1QDldlFyoCw== X-Forefront-PRVS: 01894AD3B8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39840400002)(39860400002)(39410400002)(39850400002)(39450400003)(199003)(189002)(2906002)(6116002)(5001770100001)(86362001)(189998001)(92566002)(66066001)(68736007)(97736004)(3846002)(6512007)(305945005)(7736002)(4326007)(27001)(42186005)(8676002)(81156014)(81166006)(50226002)(6666003)(106356001)(5003940100001)(105586002)(50986999)(48376002)(38730400001)(6306002)(101416001)(25786008)(6486002)(5660300001)(6506006)(4720700003)(47776003)(54906002)(36756003)(50466002)(427584002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1443;H:ssuthiku-rhel73.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1443;23:0nJRvdc7KTOXPBAMAvS/Zn72ErMAxXdpXoOZURODJ?= =?us-ascii?Q?6LVltjP4gct8+otG7VtOhAyBpSyymGtAUhTloQlRyF7zmVTa+WA3dQOpC6R0?= =?us-ascii?Q?BA4/JbsUiK9IrcMxtdGlxDDvEedeGMIf4g9lmcuWJ2ZwXjYKX+hjl0LyQfL8?= =?us-ascii?Q?yZfordvA+D2JXLfJc6iRxUbcW6xivNUlN7L2nQNfvYZSTUva286iOvPx7iPN?= =?us-ascii?Q?4cPlZGqOajM/r1JuI+RM+mTKcHRqDUsITDdgUYzvXZ0M3jb5cNamB3yM2UdM?= =?us-ascii?Q?spJNz4UkWkc2gnSZByHcbIfg+NOFS/E+gR1+Z4cLMyXIEfASiJIDoMDIRfGw?= =?us-ascii?Q?yQqI6oVC0D87NheltyFINhJwr5SlcLKlXMPlquufiQXrX/DTaE/OrlLgzTSa?= =?us-ascii?Q?aD0Qu7/QPrQ2c5LQEPu/SzufgTlU4QNygpH8Oi1Ljx0DyoZxf5EZu2WUNcUM?= =?us-ascii?Q?To9eC0knY3KbgQEBGV6pWHy9BAEVRBwMGfmCCJbj5CjcIHRCwRxX9cpoujrZ?= =?us-ascii?Q?qwgOXb1WskrICAzRMq9mgENVFlw6sgKwsELIcqYbqmcfzIT6TSZ7LDMprLRt?= =?us-ascii?Q?cGX5zpE3ipXBEQULcw8+8wbwyixC8FPj8KRMwJNqgSarP5NFwBQt0sNhg76+?= =?us-ascii?Q?D1pRmzjVoi8OxfsXwmvrks7I3lsKN4XSN2h9TSK0ZHZcV0Mcopm9IpFFDkvG?= =?us-ascii?Q?Z33xeXDzTerCcN4XY7wBbk0DpEB5e/wxlbEFijsh0AniIUVvjTQ36fJyuCzJ?= =?us-ascii?Q?J33nBGhH/3Js95Dbr/hUeC+Ll+VPSO+fA6x8eCGc1UA5CZZ43xvWVQwjlO3K?= =?us-ascii?Q?Wg/IHV3NwO1OB/vCtp1Ov5g35qwvqfd27KXw1Eed2K0OJdBL0WToh9z4fonS?= =?us-ascii?Q?L7XVi/exkHKe2QzaHGwdAfWuJaq70OKynqTlryEBI/JOIwkedc0Gd2Qqk8t9?= =?us-ascii?Q?ZtqhJ+O5H7YqdgRO811ZNL1KgVbSBRKc0Jo5xRtjmNXyqegn/j9nd8j4zzRf?= =?us-ascii?Q?3Y+zu29x6e3YThVET9KL4MtyK8bLSIcWn4+mdbEvaw4XDJuDNUM2cw919lw1?= =?us-ascii?Q?Ty5eJeki52DX7FJBqSh8h5TKbdZneaH2DAgjr1B+FeA/JBMIfe+HiszDUkgw?= =?us-ascii?Q?3dLcdCi4SZlpVpvC6oUDvDRYsf9T71AYZt3g+NdyZHC1y09d3X8PwNAdWuAC?= =?us-ascii?Q?vlhtFHHH4Ezp17BbwV6/WlYK1juVA+8sddu?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1443;6:2lsnQ1Mo7LFico3tilZcnbKUGjOTHjbK1tXcXXCDG3QEYcquyF/26en7miSe+dMPBMrAmflxMwdyZ+2x4ErJLfFnpPY3FBdbckmGqjwgzXcUhP3fU+zAQMS9OJGL3GQ0p9stoa4TwyeaB7XVg7yXdFGR+ss/fYzGka7k6k8yoDOMdYg4bET0KFY3C4Pj+vtkEsh+qdkhJDbZ9hQ0IJCpPh5RtzXr7j5PvoFYoO3wKrySjzMt9S1xcBW1pilXRaWuVJDqjmVr1/inVudgrvYV47kKdKzqhMuWmrubl9nbJgg1f+zT5ViaW4qJzB5KLE360LvMsVK1prORlyFKboEbrPWT1dQ0eNOovg178QN5iUpcvdv8JwmrhIRMayDn27Z/TwO61AenogSqy2mxO3NNtIiY0qfRuq6XUOIPAqH7HsjMWp15+AewasNMC9T06T/ArRNKo3FS1cyHlsPe1ABePQ==;5:Q10wSQ6E0z61cqrJHh7zGZX5QAk6B71Aw1I7wp5DxcNWuL1Sp3GqxQNJbDLPu1FFPIFad1aHX1DrfPvbcE1qyT/aX5qfZDTwzfrolGCsQx7ENi2dk6srJwSdtM25lgrpQvocEcYMELY9F3eE55yJSXCkOlTRr5LdnhjoU2otULM=;24:qt8zKVQcwPAVIvtPmvS0YvC3AsDT/9QBMF+OQLjvcFdIO6jKgnAplUmIaJ0pnfxlxGpu7QMmiABrCxeGurHbREikc9wVTXFRwy1JdSfcLHY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1443;7:jQN9SUWAZvC2s4I3AAnV8qjjnA27836+r9Qway/dZPvTtEOIt/iEmz09lBea+UD/c7DWT/cR2GVr/YO1wmdHWaGU1S2YcDTAg3mKPqgQVEGD9qVVaeV9a1Qr9TPumRSi5r9Opev2xaKbhFpZ4fCPpIM5s7JRgQ0+lyki/R2AEfvKb8DThnW4tBwOn6EXUDOmDtiSgyu7oOD/I8cj3+uW2iBQtszTpJyzmbjkUVWnMvfEIE2QjaHQDRtMLOZw22AW6OR29NAhRUSO/813UkTdzaACEl6V7TJjIMweY9zs/ID7lJlzrbZc3OgF/B584wnkcGxFe/zbZ1qwXvDH4pZ7OZhzMrZMOrq7BT8BWV/XT9t236HpdyHHial676wxsKjLk51VSajZyulN7r7XjXmDXDMo58RrCJSlFisFmECLG008e1sNUtvOaDZQKW4k7QawuUvDvovzy7qBhbYtD+5/DQ==;20:mL5V8SiNLfu5tQT1exCQo9sl6dr7HWTzAQiVAK5iijhMkCW1MlS5UCPKhkfSeIqEaqwbxmqrRiWI2DZSiMJj5Uf6huSSmPsfp7q1ZHunlVzqAYrpvHUUmPFk5dltEsFuqsTZCJjH62idPc/hCQB7e6pB/PzOEEQrLZJw96usXMz57yhp/WnSmSawqT28fofdA2wyjy1s1ZoIQTIp0iqbfd+nodXD+CH8FOENlc2aOaJIolSFHE5sKDT5o4YRS+CI X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2017 07:24:03.5178 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1443 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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-v8 Changes from V7 (https://lkml.org/lkml/2017/1/9/917) * Re-order patches to clean up first before introducing new stuff. * Always use amd_iommu_get_num_iommus() to access amd_iommus_present variable now. * Fix Perf IOMMU sysfs attributes initialization. * Miscellaneous clean up Changes from V6 (https://lkml.org/lkml/2016/12/23/134) * Renamed function parameters from devid to idx (per Joerg). * Removed unnecessary function declarations from amd_iommu_proto.h (per Joerg). 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. Thanks, Suravee Suravee Suthikulpanit (9): perf/amd/iommu: Declare pr_fmt and remove unnecessary pr_debug perf/amd/iommu: Clean up perf_iommu_enable_event perf/amd/iommu: Misc fix up perf_iommu_read iommu/amd: Introduce amd_iommu_get_num_iommus() perf/amd/iommu: Modify functions to query max banks and counters perf/amd/iommu: Modify amd_iommu_pc_get_set_reg_val() API to allow specifying IOMMU index perf/amd/iommu: Check return value when set and get counter value perf/amd/iommu: Fix sysfs perf attribute groups perf/amd/iommu: Enable support for multiple IOMMUs arch/x86/events/amd/iommu.c | 280 ++++++++++++++++++++-------------------- arch/x86/events/amd/iommu.h | 16 ++- drivers/iommu/amd_iommu.c | 6 +- drivers/iommu/amd_iommu_init.c | 100 +++++++++----- drivers/iommu/amd_iommu_proto.h | 8 +- drivers/iommu/amd_iommu_types.h | 3 - 6 files changed, 217 insertions(+), 196 deletions(-) -- 1.8.3.1