From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936097AbdAKDEM (ORCPT ); Tue, 10 Jan 2017 22:04:12 -0500 Received: from mail-by2nam03on0059.outbound.protection.outlook.com ([104.47.42.59]:4640 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S936074AbdAKDEK (ORCPT ); Tue, 10 Jan 2017 22:04:10 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH v7 2/7] perf/amd/iommu: Modify functions to query max banks and counters To: Joerg Roedel References: <1484019227-11473-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1484019227-11473-3-git-send-email-Suravee.Suthikulpanit@amd.com> <20170110144340.GT17255@8bytes.org> CC: , , , , From: Suravee Suthikulpanit Message-ID: <862635a0-a4fc-066e-0a45-e8626a02775c@amd.com> Date: Wed, 11 Jan 2017 10:03:50 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20170110144340.GT17255@8bytes.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [58.9.54.143] X-ClientProxiedBy: SG2PR06CA0022.apcprd06.prod.outlook.com (10.163.105.32) To DM5PR12MB1449.namprd12.prod.outlook.com (10.172.38.138) X-MS-Office365-Filtering-Correlation-Id: c6aa3db3-5d3b-4e50-90e6-08d439ce8273 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR12MB1449; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;3:QF1egVTZxbhxiHCa0pmDnRfM5S1TqIvg1I/lW/783TXGAnhwNjRdmsedAX6W3Tui2ZV9vssv98V2r2jUFTpXhL35/cwc+a+/7Qtru7n0BX2zmI6Po9TbFJNR9tJFbAa9FTgHSfHGvhPIikFl2xim3pn5hv0vRCVepV6n2dcZ/pvgg1SqVy6C6+EPUPLeuP2glduhs7cyCoK+x1w9ETDMb0EFULLv15+PPYx0IynUnBna5Y1ua4hDW4FMBmPHTKTVUKv0TfzGueTuzEW7QKwDPQ== X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;25:KrzPp0gAjOBK/ZoZUCxSki0ulCa963CquzmMCm5mjsV5XLTw5Pzpfz3/airrbEh0jAk3eFIsRzj0E48NklS5/o86LIxyB44O06P05nUf+29nphfs0AWzQe5dpM3CTlCD0isRgDRJVaPXz73s6vaSAe0DZ/rL/1R3ZsIEtkr1lOeO0sIb8bRC7MRf9czOgDsCyiz3U0Yfv/Annp+EZpLddgepg3CAk6XtjA8W42UNKjnMYVQVNAzsq+xLwyppI45je6KIhn9mqwd5rM7nsmQCLyXq3sleCmuWJ3mB0IHS4VkYT/PuVqive18oUOPMyooWLYMYO1EejRgvKYJMvRjCDBIqePC8i+Wmn/kFwZnzPtCdDuQY9a4nxnUF/s1stdLaJCVOCRGIJ97SMCk6je0CzC2MH7quiS1CqxT01mFV6lTcnido9g+G4FzwlOHxuISEV7y6XIvxSfdaLYeRtXt0hWfC+eMBGyw6HMPPHiThbPJBLmnIl7fimKAwpnHqfzt3tYNaRMvmpLZmtkRU3T4dGhTY6ld8fQQFeO3y8Pb3WhADTgNKJQ/pOw26fnT1Y2GlIlIJUluF3Qmh4YJMtExurYRKYPO84yekSJCx8LT5Fuj3IudD8R7yjsNxy/6LxNNdIvlt7XS26bWWc22zQAggyZ2hD9LW49SGQzHUBLmFwBn9YqHujHE/7ArVPNyiy4K9ujZZqap0tU1K3DxMFl66jPQmoVqnwrcLwplTSXtYqGSl6CXgdkYhA6ZPVGEezIHWEVHu7iSoDNMeVIgQq8D28g== X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;31:odsX4ySxHSb/dIJpXKxg8ACx0IvMsghOqYLCbAbCIG77bjrrTWijLlhtLEbuohcCfqwjIS58/aMlIIzK39zCRcZwl4weZVl9r+Kh6F8fBB+vZdOWHC6twfxAWk/g9FTY8OGwOQn7dFldwRcbngqI51AtJ6k8gnjI2Bwy/UkUyHrQCcCTbnjq5AHuectJQYcOvcpDbts9ynx1FbjgBtcHS0BdptmnmCsbWAjR7zedEhDwrMRAB65dNXG7+BTc192Bv6HAT33aLDkNz/s1+RLtw5yQSOKWSCOuphDhbM/ESGA=;20:pEmlkbDZJeGukGgHlI0G73X1Ix/60oV+hQpoRLN7rzDX0kC8r97dUALKj50j+y+UDasg9kjU+bW5pWPOuLcYrtqKO4K7Ef3do2syfOdbCKMT+Bqo80t+R9RbL+iPqtjit5v3iQIKAYG1XjHpqawgPcOIp68SqC5ILqaigqznEfGoKqMcW2YKgbNLn3/gzy01fj9ra9GlGy5vnOr6YdkNYAYdOlvuK8fNrx6tq3T4OmXg0E+fJ4hc3ruq2x8GIFHoOx2WKJDkVd3JwoUpoiEiiTAyiPtlHk+A+iDCbAFquUCKAog2wtxtoOmZm07gyteKZEHFKNUDLO/LTtOSgU9qU54cOAUW+HiBuiGetwx2J8QQlDuVRpwfoUhAtdlnO813RHFSxTqUgUp2MoeOSXDwE+kJR/Rdx/+/vlhM61+4Ow51jV0L3VRV8737nr105PlKd6SjVAj6rGX1xbFmP6FKJPUtNw9Rxcty10bgLqPSZheNcc0gBTbClO+YjlMu94O+ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(20161123564025)(6072148);SRVR:DM5PR12MB1449;BCL:0;PCL:0;RULEID:;SRVR:DM5PR12MB1449; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;4:o0ll6DKQIUYEBM6xYuDUVHMQhXB9NhQcB+CM+UPxeEViXVfX9mNgoYCbEoZFfQHS5dvyUvQH+6QSy0pZZPKIFFNeKOfNlfka4goSguobedqBr8S5/qLRUztyaJlswG1vL3W2ej697nyA+ik7F5lL29ZLQa6o8NHMpdqbrH3zMxAWcCzkErbu/0nHURGX1MY8FGM8N+ZMXJXiBydz1woJHuudhRE+NoCen/MGdqEIPhrpEsUolOJ5tn4/r7irgDbqqLW3arSXuK1zWDH25im0LEEBoazbbOsVyv6pi5mF7VVn6rkFk0BcuGikx7hxJ6Q7DbVnfQeZga21+8TkRa0JS68pn4j+QEUxKGkdZuOkaFZtguFdzJg25ST+gu/45o3NHMvE6AlxD/8dFpQl7lBuHDMy806KZ2htO+va8odKzYlwX1h/eAo0TOAy4TPnIkXK9H2DZkqz4P7nVO3fLgbiEq5MCLk/mjwJ+0Nlz6qPtg70OC+7pooIEd4xb4YGUUownVhyRFBL8a0xeAHPmEAOrH9PzchD262CvsESDanOB2b7EzUDIPwG1NywuwLsSiu6w12g13gKaErcTLJ9HdgBEWpft8T+CFww3es7YPPZ+7Sqf0vM1gb2jOMEzGEvk+DB X-Forefront-PRVS: 01842C458A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39850400002)(39840400002)(39450400003)(39410400002)(39860400002)(24454002)(199003)(189002)(6486002)(31696002)(54906002)(6916009)(229853002)(83506001)(6506006)(4326007)(38730400001)(65806001)(33646002)(65956001)(6512007)(47776003)(23746002)(86362001)(2906002)(230700001)(36756003)(66066001)(64126003)(25786008)(31686004)(6116002)(105586002)(189998001)(305945005)(7736002)(50986999)(65826007)(101416001)(68736007)(3846002)(42186005)(8676002)(81156014)(81166006)(4001350100001)(97736004)(6666003)(5660300001)(106356001)(2950100002)(110136003)(92566002)(76176999)(50466002)(54356999);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1449;H:Suravees-MacBook-Pro.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM5PR12MB1449;23:ZLoWjHbKRzKYWEsnR/ETzFVxMK2P5hcppRa+J?= =?Windows-1252?Q?WNDWoaXabwTK6ZIA8yhP2+AFNaYutLwvkkqTzVOkBnWWlnBHgTPvyAUu?= =?Windows-1252?Q?S8UjHNrBkP7H/MfsVRJcHKTtHqQITkVl5+VQtYPn1sQ9CAo/6hJkaGMn?= =?Windows-1252?Q?tBAriX77jyZzadNu/qEMjx6NUbFEYSKsiCPTYr+NkYrppWdjvAsOEfhK?= =?Windows-1252?Q?R9uUxTcRWQwdZz+xYpAMkIY8n9tXFZyAcmeCq8OfoedMtVGPIi11EXNU?= =?Windows-1252?Q?InrgPt8VctFSWgMI/YIXxMXOGPhQuRV9MW9qKNhK4jKNZiL/Oba5nT3g?= =?Windows-1252?Q?favM0M4mKqJVSWDPyLkR1Pgp0uU15MrER4AFmQ5a6tS4wk8gvD4M9nTo?= =?Windows-1252?Q?B/EjQo6mqPFy4u8Fcbp2ZBUjcxc63FkMjo4MUPjWmagEpL9MtQ948dZ+?= =?Windows-1252?Q?RDUtlSaxRtc/Zg9gh4VDBiZicigBWKV7dYokNlQzobvFx84r0rr43vdM?= =?Windows-1252?Q?FTDt++mM2A/3bAVeqUmAYFDbRaBUrHOwAOovqmc+MuVRSRYLoh1NXlPA?= =?Windows-1252?Q?9hYfA2uvxcCBXHKOPuxDVkzHESSf5br2jVVekz5PoVcxP40G6m0R52Dc?= =?Windows-1252?Q?6adjou0EpKd5XkCd2ZmKgBnh9PsI6oQ+8k8TYROm3gKFhZrq5fjzbPE/?= =?Windows-1252?Q?Dzzj0lZeI5I5NIAayV3eeX3gqX3iQJb5qNY+wcoSQCaYP6rnS2PIdrZk?= =?Windows-1252?Q?SINSz/uMa6SEy6qPkqpT4R0/+1MsCGbnFkYCnoj726kUddGK0u5qYpQu?= =?Windows-1252?Q?H4KbpRSp23UaCOjR54u9XmMPQjsvVsePwTQ5N23uDcVwhBKY/462D5U9?= =?Windows-1252?Q?AVO+mOLCe9WNuTXx7qkXJxTobscM0fl4aikEjr6VA3iaGeI4yBPZVhjP?= =?Windows-1252?Q?5FXdQrzceaJPS/N75sF8PA+3Zdg7BhE8NhM/xgygUHNfhLj9jYR8BngA?= =?Windows-1252?Q?qb3tcY6itmthPRwPSrYO7r2yQF38hxQYvz1fkfOYSsPv0bIdtbL/anwn?= =?Windows-1252?Q?lxjVAVmALX0JKwgIZFAkMpmtIRCnQkM0JoSrqgPN+/RBmoxoaXbhuxQI?= =?Windows-1252?Q?Og9B7tKi69VIBMwUu9om73yeqdz1yB2NOTD0BcFtpSxWxF7KhQBTejIl?= =?Windows-1252?Q?KtzISt5rzhw0ShrCXOK39qCMFwnO75+5Jfhy7eUlna2AHbvoPmLqWfro?= =?Windows-1252?Q?pZbWcYyQt4hbUm3wCSIfQfTLy2heHLAsd4RZVpuH0L3gs+NRWK6NRtO9?= =?Windows-1252?Q?bdaSmGzlGDGfiDU0LclxaHc/s+5gbQsZC9d9EdPtZCp9Cr+tF4LXFBAM?= =?Windows-1252?Q?2Mvi2g1Oc1LckXSiksXRRIXXmd4pKRhX2IELwunS6mPdasgfxY1WKGTW?= =?Windows-1252?Q?zi8bvPNs/ZNABlLjVmdNaivdZkvyn/+vgMFRNLzM7aMpdfc8RIfsgyEv?= =?Windows-1252?Q?HEsnCd05akiG4E9op7zqV5VmQXfE7QEh2JmuzzBso9n1khAhw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;6:0vqEe6oCr3/16Pc8kYJvgC3Am0iqCgwnTVkhy69wUg9FPaMRW+xuD1CEfmwP1dNzAMr6JRI3jgOA2kwJ8pkdfn7PKFPIsy2YdlpweiI+ZC3HnYE5zUdCbtP140T4k4snnBbucifyZ/G9HptfeMPDr/R9QOnYkhEQpa3GyFc9uxyrmaEp36I2s3ywghzLa7OLswV5KC0rtx5ehcRpbyyQ9LB1oCUoxSFtKsQSKzcqZIkLhYyN6noJWLz0k8H+x4y2utkO0Pz2HCub5lsOSXgnU7LJMYRX2n9cpJLmO2F2+L7xZmhHZZq+rZYRdT4m2B3IW1I8mA/crKo8CZWXvfUamCTTwpclpXpS8D2GMmJTH1VKM470+4WDh40PyXxVh0Z9QPRWlxkWcv5V6C6RVvdcCXSWWyOp9OjDXG1gyyPb5KmqfyiZkyeNt1HUhICBueptuwQYhbwmgZLGBUujJBayFA==;5:RbbjDY3BY+K2prSjpICYpALpyut05sOfgVqa5ozyrlWkwoiA+kQ6KgS/7Tvo/9txviMJchBg6fLKNagQ+h4DGi1e/b4bjGa9FG7my6tEROfhIGdrV/QB15BLA1Gmp2nuUakdD5SLxbS5zUeTSFDFRg==;24:8fL/ynroVBp/ot2nPwsxQLpI8lvK4EfpyA6ouTtjy1bLvy6RBXfp1FpDKIx8SdGtigELedMMZAND3s3qwRMsvuKymL7WF6/0BJqZ6Bq0LcQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1449;7:Gf0Gs+FIGc/ErjHgv7fYoTJAQJBLtUlS26vXcLOzR/mlX81nSCaLccrm1oSFFrVHKP11a1I5fczynXZwLrtTufmnaJT0OxqiARCSQamegh5Y8BXSEavBGD3p015XMqX8ECeHGQrboomQjo530shtO2kE7Rh15JpJTeHUlV7NAF0cxy8g57nBDa5rQ4L2ehAGmWGTrKxEkT/CXUU6RM/Sm6iC78C8BgtTbJg4xEbUn++s/TeFhfRkjeZJixsKmfaiYE/Xz08p64YopgucMGYdh5GvpbPfkIF0a+gBUd+P/9UEuL3o9ZY5S17E/tvZQeUYci9In1+G1SVoD3PDlKVSxhXK9Y6a3lJxJClO359N8+LIO+VEJRW0P7HUkUE6O27MriSelK7864wmV3RKvnAaDAajwK6aCEO29Hh4oT0HMeR5BprGEuMBXAwgbUFmJCJ1nFFFT6YKDxwyad9tsmsn9g==;20:DI8FoopTA88HmG/GKjmZioLdSBWIQ+8/H1CW0VpPN7SsH2rUGBRmwG5VcWuQLrpPZgX6iU/Q2eidtJAqV8Mw8k0QNUETNEFGyx5EEC+TWheEEjLFvWadAYfgc0QcXU1b9Ticvw/AkNO5PhhvlTTzGCUC5wzamQK/ksGit5UfnsGWGVnsswv+0n2dMsOC6JS+Hv5y2N+YPsOMYmio5hPFRq1V1I9jOjJEs/h5fTVUclbgTF4Z7HesGBR2DVqRaFZo X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2017 03:04:06.1174 (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 On 1/10/17 21:43, Joerg Roedel wrote: > On Mon, Jan 09, 2017 at 09:33:42PM -0600, Suthikulpanit, Suravee wrote: >> +static struct amd_iommu *get_amd_iommu(uint idx) >> +{ >> + uint i = 0; >> + struct amd_iommu *iommu = NULL; >> + >> + for_each_iommu(iommu) { >> + if (i == idx) >> + break; >> + i++; >> + } >> + return iommu; >> +} > > Sorry for missing that in the last review, but this function returns > just the last iommu in the list when there are less iommus than the > requested index. > > Is that intentional? The following code checks for !iommu, so I guess > not. It should look more like this then: > > static struct amd_iommu *get_amd_iommu(uint idx) > { > uint i = 0; > struct amd_iommu *iommu, *ret = NULL; > > for_each_iommu(iommu) > if (i++ == idx) { > ret = iommu; > break; > } > return ret; > } > > > Regards, > > Joerg Right.... Thanks for catching this. Do you want me to send out V8 with this fix? Suravee