From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753488AbdBGIlH (ORCPT ); Tue, 7 Feb 2017 03:41:07 -0500 Received: from mail-by2nam01on0084.outbound.protection.outlook.com ([104.47.34.84]:25426 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751618AbdBGIlF (ORCPT ); Tue, 7 Feb 2017 03:41:05 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: , CC: , , , , Suravee Suthikulpanit Subject: [PATCH v9 0/8] perf/amd/iommu: Enable multi-IOMMU support Date: Tue, 7 Feb 2017 02:40:28 -0600 Message-ID: <1486456836-17428-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: SIXPR04CA0023.apcprd04.prod.outlook.com (10.162.171.13) To MWHPR12MB1455.namprd12.prod.outlook.com (10.172.55.136) X-MS-Office365-Filtering-Correlation-Id: 07b0ea7b-0bc2-41ab-f278-08d44f350c3d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:MWHPR12MB1455; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;3:0bS2JLP4QEzOU023yqmBvnu6Oy5JDBRHUnw8Jj91f8LkW9sLtOL3rGiExOWdR9EJzfCe9K4B1zzozwMIipvZ8YHXXvDft1rEyJm6yssH47LuA8TqdN4Xm8T+rPkC/Z3HgzxGEpCjKjUgdh2FOide471w9XEib3Ym1F3rVIf51z/KWZZ8DZZJi+Q8bg+nl+YOlsAARs1nU5RTzNj+LMW/aVk0iZ1vWBTWqTnR+CtzsRAwSRn/JZLTFEngjJM0Q1+RvggnfEaI1Wz8TLDM5/bhVGmR2EiFtYNh5zZfg7X+3D0=;25:KfKtDSuTRVC7GZhHgWhYnBf34tB4eywV/ZIX6AH78tLqncv6Aw0ucrewsqeA02K7IXb2aKk+aD5VjE2FXZqnZa+LpITeGi18ChmYFGLSXDiT2+Kz4IcJou4XatWe/1Wwdv0BriUjWzF5Mc26hc14apY0mq7NwvBo2AnnjeTnCGqhiXhv+jucCZiV+65gOJeXpf1t2NYtHyDqs1v6VqcPHr++UsKXcxyrNw1E8IUy3cNqLxK5cA0U/IfE0ffs6aCUhJLtN0K1dnQ1GZ1Qu4H4t+RnNxvqnd7bQh2oM0p30/LDeHYFey5xiITjnyDVfrJAGoKqHuJ5ny+S8SNcPBZvbI1skzk5R+6cvRU2kLXd9AmWnRhAdVHtwmL7zJObiiVsVn8JB1C6vq+E/hoK5BdIlK7MDoUNlnDSZJIFSqfO7TD40zH9m1iRZ05F9XkdxVfigPAdN2QpX145mh12lQbRQQ== X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;31:LYXH7WHSaLQGuk70WD44ISO0JZOQD4geHh8XtObkLWnD35ZVfV0b/NppLFeaq1I6YNrPfag15GwatHKAbJtIJ43NFuYSKh381jp46e7SngH4eMko5Wvu0NAhL/RpPpf+WYjmTP3+TEN6lippUzivRal6aXhm10JUSrWU5k3vaZDRQC2hcaMxorrWvLVVfxT3yodgI7+urkIvNdO75xQtpx32K/4q1BwO2I8Ebtc9/W3Q78LerIIi4er1GAQsBsUFmCl6XdETV5/jWrhe3tujMQ==;20:Wgj39uQEt+O/S8jzl1+z7fcjrIFJrLFNcQnIwlBJXjoq6o0xXYWrc5sZilgxjWlObMFfpkFwtuLpnUQyfacwSgBmpzx1Km7a/Tv53arP9m7qvLzkJ80AO+14nMJGj+pgT4aFW8MdBF7FUVAb7SbcoFeg4Osm2JR2sK5K/EduaotkwJhvdJa7ZDxZBTRWJs7P1cOVT3jxpeRNwq+bi+Zm7lzQgQH6uoM++S2slsrMB+LQtRN7TbvIFDkJSezczBbKbVLJqDhhs1Li7x3RnryG+TshjmIhb2bnEkfG3q0XMxNKh4Fo6PU+bogql8K8lGHoZMx/CWDhmpBNbxJ4WbqopgR7SLr4JrgQ85MMV4QhZ5Moxi/1jRYWNne8KtbOFj179K9V/1iRiW1VXLe89Pm3RZTKkMbXcrpZ/EeMxezeweV4IHJX/RdV4ZsJLudD6HPMt21W0FJfkBcwJKby4KS1ngVL5GK7fu8KTbpET/eXddUGURAOB7BHccPdP2GDOEHp 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)(2017020603029)(8121501046)(5005006)(20170203043)(3002001)(10201501046)(6055026)(6041248)(20161123558025)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(6072148);SRVR:MWHPR12MB1455;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1455; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;4:17YWksEtL+nWsC5QuG/1eKS+hfCG7XggJgAuwf2uzT9wKBVvpWcEmkWwD+sn4/Hsvl/pvKTTWcVVHJZAq5hVEDLkgZawn3pcDPRaV5fMEcehwuEabdQRJg+LsdySEBPlL/+Qmd4kSYA4FYgP/u5sfmNbGRqx5eNdwbGAWeN1BpPvjmsn78YbH+mkra4CFXRzFiyaK4BhKBdFa6EixJcN0TWOOHEAElflSBM5TR1dIsHf0HCXOePvbCm0Hz5dfZGvYFt6AJLQqRumXYT/m62TnUiY43d5JfS0+1ELjsTnbaBqOPzQYmQnuNhanZAItjPzduBPuKAXgjvLvWdtuHu+Gj3gJQiMwlAS2jYMEgH5L27qwp3pgL1XzLCpiG++viYS36iMO7ATsOjw7Wdz3h75DtqrAEqVbIXHu4iEAQoI01gH3bX0pYkJZG1hb7qD0UK1WeJvuhkoIFNlrJ9PyIzUpruGNVkqsl5iimqrubAFouV55BySUa3oRTFNWWmnjaTwsI0RQ0EZ2MvOvijh2NwDnLS1tLCYLD6iAcsbs3LN9ZJHAcVXPxDsA0BJw72zXNcbuNNSKlBAFB2BTS3pfhfGQ7c6i2PeRP1A+MiZlYT7aLwXL1VLo3M/ZjqPrlIFFGV0EjDuEQMOyt/jnrfQcs5esbfgGr+jOdsa0/IYkYoKisRwsAJ6/UPvCJZmuiJwUBU+4HVFdDs5rPkO4fpZcx8WVAp/gR2I5yCH+BSWZ6JD6AuZVngjWVEnjDIOyNFfFGTqi9X4a7vFg0Br/YuDgqD7gBSgGk5aCwpF/HfVkfX83sE= X-Forefront-PRVS: 0211965D06 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39850400002)(39840400002)(39860400002)(39450400003)(39410400002)(189002)(199003)(25786008)(38730400002)(5003940100001)(4326007)(6486002)(305945005)(105586002)(6506006)(7736002)(81156014)(92566002)(68736007)(2906002)(6512007)(6306002)(54906002)(53936002)(8676002)(50466002)(81166006)(36756003)(42186005)(106356001)(47776003)(6116002)(66066001)(48376002)(3846002)(101416001)(6666003)(4720700003)(86362001)(97736004)(5660300001)(50986999)(189998001)(50226002)(427584002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1455;H:ssuthiku-rhel73.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR12MB1455;23:at6UCS4RUsb9GbxNXBoVUnluveGrdpvDmIBG2jqFS?= =?us-ascii?Q?Vw07pornPJsYz7q8L0iS1aOgu4AxTAE/ro01vFH/BNN5urpnzDwbs/O7dxiW?= =?us-ascii?Q?6Mz0DA8FKAJUXOsFnVcUk/nq2nJa4CwDXmJyiFSDoWxASVGsIOmoZ38zHBAH?= =?us-ascii?Q?2yv+s6HaV4Sp93TQ41F0sMilXgcRQYJxNWmec2Ir99KgJySzSxkKOyzgZa5K?= =?us-ascii?Q?Ht5VV9G9KGxcP4pbcVLmfvRWoSOqllPm+h7SDCQGSuOpVybNSjnxYedR/hml?= =?us-ascii?Q?sndPjkK+SznOjJFj0GWfWpzF5OEeZF0er6doDr/j6W3mRwy5H5J92pTvAVCa?= =?us-ascii?Q?5mHuJGAOR+UyK1W3rvUbF9XbUA/QFbc77xpEJ7djySjLuK3Z/gs+MMV8H2cG?= =?us-ascii?Q?2V1j6Tf1C/2iI34+xqDq16Qy5GZ43yRTHtaYi3ewyodEfxUIOfvK53TIKBds?= =?us-ascii?Q?C6g8mbuBhBaO+qzdtd68fV5ss84S8qfSAeWfuC3ZheSeDuHqcQtPUZtn+6P4?= =?us-ascii?Q?56d5bHx/fiexzeyATJMjFJcQ6grWP/5+T2bfS4JsB/Y67a9l8rqhoROtbv68?= =?us-ascii?Q?9p/JYaLpkU/lEIRxL9p+WrofLlUih7uFriGsRjSBo7vwIVh9aqOcAnem+4Lz?= =?us-ascii?Q?JBMKvdP6qc6QnvjgJoHUW6NXEJ+6um+MLmZeDR3yu2cjC1/GW5zi7rVc5Odt?= =?us-ascii?Q?xTqfTsILVt/lk4WG0oc65ixKgcqE59zP/Ulbkl+s5npmpbCstjiGdqFeRGVx?= =?us-ascii?Q?h7J0DYw3Necd4KBlACf/+Kv1q8lhyPreRSQHUDlhotZ0X4+jVupUaQ4ZcBON?= =?us-ascii?Q?+Y7crkUYXgd9YySkLD3I7hKPDo2xe+2Q/QYKW4GtnJHESWBtyrPxxcg9bFHI?= =?us-ascii?Q?BPGRRduJKWoRYbr8q1YIjiLvyvdyuWCJvKpgYPFVJYnqIR+AOCJoJot3wkYC?= =?us-ascii?Q?YJlLuopA0QFqq04dajlKB4e8w3bsxmgCDJL72DEa0B4AckAHgZ/re2bFk9Cj?= =?us-ascii?Q?vULuAgMqZxAJad0u+ReGYpRliA8XfcWTLhL0x9y8KNUMbBr3TWTRQcNqq2On?= =?us-ascii?Q?ueuK2QpAzyQvk0bRjVk3ExEhJzVOeRNWAtrjkeUBlfBs6iKFiM1QmWKON71K?= =?us-ascii?Q?t8UqteqD61+LW5LVo7Jxxbk9iWS9Xkf9Cb7RcHsCwtrIOQj9j03+3Ln43b6U?= =?us-ascii?Q?ufV1qr1hmO6jNQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;6:PzynomgeGDJ84Ao3AAhBcMYXoXXhNIW6p1eURJggzYjpbbDfJ7muGDQigTad4axHHjt0Fv5VuHCJIlvjDyII5kUrWJlq6XtBoHmULapH4/WrrVkR4tz6izHMiYvAwp0psvTc5yPBNgMms+J3m7SoR8orHd2rE9Xnld4NPuXT/gq2CcczyY8FtMCkIThP7n5Wl6WgmFAyy+ptSQWcsylXVXZeOw8MNokjnyGDn2kxbZmHCgAqQ8e2WfErtfmyD7Clubq0p/dAY6pYCOCvLJ7dNSAGvD5PzJc8j3USQo2ezELl5cW68Tz8cvLBSRKD4j/tfl1Pgoa0vREyu0RrXPZ+6izrMqVoe4//+zRXSPlcSYJZSSVFV82hsHJi9o4PV2RqP6Ot+IQZXG4w1TpPu+AuuexRAWFRazqq1FByblRf+dc=;5:gZJ9VWBgBw+obTZWOBg+/9KgWC8ekJId5Nc+VehmcaDIaYgB/E4Z7Twdgn/NDEOwMQ3byTTrFbrd1HEjeeoKrXVbnu6WHSxDn/9oVSPWQjma6ruAfYnjOUwO+e2xcsfxnKLLWRHAFnsv1g5lm1v66SPIxLR1+FUiim1eIHdZtTQ=;24:DpoPah76BxnDwxl/lZmTQEGIBS6/AgMbbsJfjIRML5LoJlEIpSh87juZ3ylk+Wwdfb5+jeHTbcsxer4j8q/fqOL5FxPNVUFz1swdK/dRitM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1455;7:vq+TtHijOfisSQm8Tr+6/iw8YzbDCvfKHIz/E1/BB66AkyiuksXmKev/L6/LG8h9YjYHAU7P8UaIs/lF8zUQ4ltwXG/ZnfnH84Fvhstlvqs1+hLc9uZcxqPua1QfNNziIqhRoIRUtg311itwf+TsfAA487DuJeGz0ANkx+Bg6swWWJ9YBhCiMmBSIBXrhkedGDb3Pk3ERNKOI9K55W1A+22H79+l+YOhAjms9gPBsp/K3dbZ09gYXgbqqAca1qOAINmwsm8PZuwvx6+DfiJRNtaFV+Qy8Mo7LIlyFcJYSkYWw+mvNHdJDAqJLZG/JR67UstPDjc33hEHMRLlWNo56LBZ0M3pAwLaniwslreKSgQVtbn+jglPpkyfNTl0VKG+YAVMyfhSPcDoL9KgG976t5An46TfswXQXDZXHjwFU9fBdt8M/RgVMLHvr/wDNpQC7KdwQBgqqgOBK8b7saG4b6PQTiyuYIYq0MMwbFU01x+8GyToZMcTnwh9u68Mr5FRRFwKmLTVtOG+qq9cmow17g==;20:oZKfzWjhDGqH+NMRje5QQEVyUpBRr3HleSdF4ePq8cAVZpa84ZzTKbDZwBb3OdS61NzCEmVS+v1/cCePr5ukx6z3lM7BBdcTq10w+6/FaXAEA8K97k6oZpJn67BATzlj8W7/RIR9e2Vk6Ssb4ZrYtTfy1nxlf/so6RuD4VtdVJcWCJ3Bsa5P3vgBR9TOpHfA6K9ZR4tl/0+x1Uel+220foZhW/Jln6f3ukEQ0X++nqT1nerDXqZLIpWJpiRhlm3W X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2017 08:41:00.2392 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1455 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-v9 Changes from V8 (https://lkml.org/lkml/2017/1/16/48) * Rebase to v4.10 * Do not use hwc->idx as pmu index. Instead, include pointers to struct amd_iommu in the perf_amd_iommu. * Do not remove local64_cmpxchg() in perf_iommu_read(). * Fix incorrect bitfield when using GENMASK_ULL(). 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 (8): perf/amd/iommu: Declare pr_fmt and remove unnecessary pr_debug perf/amd/iommu: Clean up bitwise operations perf/amd/iommu: Clean 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() to allow specifying IOMMU perf/amd/iommu: Fix sysfs perf attribute groups perf/amd/iommu: Enable support for multiple IOMMUs arch/x86/events/amd/iommu.c | 258 +++++++++++++++++++--------------------- arch/x86/events/amd/iommu.h | 18 ++- drivers/iommu/amd_iommu.c | 6 +- drivers/iommu/amd_iommu_init.c | 104 +++++++++------- drivers/iommu/amd_iommu_proto.h | 8 +- drivers/iommu/amd_iommu_types.h | 3 - 6 files changed, 203 insertions(+), 194 deletions(-) -- 1.8.3.1